如何创建自定义Spring代码生成器?



我现在开始为我的硕士毕业论文开发一个新的项目,这将是一个单体到微服务的项目(非常简单)。

由于我的团队已经为所有后端应用程序定义了一个架构(它们目前是大部头),是否有一种方法可以让我"快速地"为新的微服务创建一个具有已定义架构的生成器?

如果这是不可能的,我想只是创建一个空白的基础项目,这将是团队中任何微服务的起点。

如果我正确理解您的需求,我认为您需要一个工具来根据您自己的架构设计引导您的项目。为此,我个人使用Telosys (https://www.telosys.org/)。我用它来引导我的微服务项目(使用SpringBoot + Kubernetes)。

如果你只需要一个非常基本的项目初始化器,当然你可以使用"Spring initializ",但如果你需要更进一步,像Telosys这样的工具更强大,可以生成所有的基本类(域,REST控制器,存储库等)。

它允许定制你的代码生成模板,以获得你想要的。您可以将其用作"命令行"工具(Telosys- cli)或使用Eclipse (Telosys插件)。欲了解更多信息,请参阅文档:https://doc.telosys.org/或此视频:https://www.youtube.com/watch?v=nMEZ4tz-E4k

我想说的是,解决方案将取决于什么是你的"空白基础项目"。结构。我能想到两种可能符合你的要求。

如果你只需要配置项目的某些方面,比如它的Maven坐标、构建工具、java版本和Spring Boot Starters依赖项,那么你根本不需要一个基本项目。Spring Initializr项目是为您制作的。Spring Initializr是一个流行的服务,甚至是一个库,您可以根据自己的需要使用和扩展。

你可以根据自己的需要定制Spring Initializr服务,但是这不是一个简单的路径。你可以在这里看到如何创建自己的服务。

我也创建了我的自定义一个遵循相同的指导。我用的是官方服务申请表的复印件。我添加了自定义启动器,并实现了自己的InitializrMetadataUpdateStrategy来排除Spring快照。

如果你正在使用Maven,那么你可以创建一个Maven原型,我认为这会比处理Spring Initializr定制更容易。

Maven原型是一种项目的抽象,它可以实例化为具体的定制Maven项目。简而言之,它是用于创建其他项目的模板项目模板。

本指南将教您如何创建自定义原型,然后如何使用它通过Maven - prototype -plugin生成Maven项目。

目前,我一直在为开发人员构建这个工具,不仅能够生成Spring启动项目,还可以设计Spring组件,如服务、实体、存储库等。看看这个https://www.codern.io/

最新更新