如何创建定制的Spring代码生成器?

9wbgstp7  于 2023-06-21  发布在  Spring
关注(0)|答案(3)|浏览(183)

我目前正在为我的硕士毕业论文开发一个新项目,这将是一个从整体到微服务的项目(非常简单)。
由于我的团队已经为所有后端应用程序定义了一个架构(它们目前是单体),有没有一种方法可以“快速”创建一个具有新微服务的已定义架构的生成器?
如果这是不可能的,我想创建一个空白的基础项目,作为团队中任何微服务的起点。

wmvff8tz

wmvff8tz1#

如果我对您的需求理解正确的话,我认为您需要一个工具来根据您自己的架构设计引导您的项目。要做到这一点,我个人使用Telosys(https://www.telosys.org/)。我用它来引导我的微服务项目(使用SpringBoot + Kubernetes)。
如果你只是需要一个非常基本的项目初始化器,当然你可以使用“Spring Initializr”,但是如果你需要更进一步,像Telosys这样的工具更强大,可以生成所有的基本类(域,REST控制器,存储库等)。
它允许自定义代码生成模板,以获得您想要的内容。您可以将其用作“命令行”工具(Telosys-CLI)或与Eclipse(Telosys插件)一起使用。有关更多信息,请参阅文档:https://doc.telosys.org/或此视频:https://www.youtube.com/watch?v=nMEZ4tz-E4k

raogr8fs

raogr8fs2#

我想说的解决方案将取决于什么是你的“空白基地项目”的结构。我能想到两种可能符合你的要求。
如果你只需要配置项目的某些方面,比如它的 Maven 坐标,构建工具,java版本和 Sping Boot Starters 依赖项,那么你根本不需要基础项目。Spring Initializr项目是为你做的。Spring Initializr 是一个流行的服务,甚至是一个库,您可以根据自己的需要使用和扩展。
您可以根据自己的需要自定义 Spring Initializr 服务,但这不是一条简单的路径。您可以在这里看到如何创建自己的服务。
我也按照相同的指南创建了my custom one。我使用了官方服务application.yml的副本,添加了我的自定义启动器并实现了我自己的InitializrMetadataUpdateStrategy以排除 Spring 快照。
如果你正在使用 Maven,那么你可以创建一个 *Maven原型 *,我认为这比处理 Spring Initializr 定制更容易。
Maven原型是一种项目的抽象,可以示例化为具体的定制Maven项目。简而言之,它是一个模板项目模板,其他项目都是从这个模板创建的。
这个guide将教你如何创建一个自定义原型,然后如何使用它通过maven-archetype-plugin生成一个Maven项目。

ndh0cuux

ndh0cuux3#

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

相关问题