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

问题描述 投票:0回答:3

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

由于我的团队已经为所有后端应用程序定义了架构(它们目前是单体应用),有没有一种方法可以“快速”为新微服务创建具有已定义架构的生成器?

这不可能吗,我正在考虑创建一个空白的基础项目,它将成为团队中任何微服务的起点。

java spring microservices generator monolithic
3个回答
2
投票

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

如果您只需要配置项目的某些方面,例如其 Maven 坐标、构建工具、java 版本和 Spring Boot Starters 依赖项,那么您根本不需要基础项目。 Spring Initializr 项目是为您量身打造的。 Spring Initializr 是一项流行的服务,甚至是一个可以根据自己的需求使用和扩展的库。 您可以根据自己的需求自定义 Spring Initializr 服务,但这并不是一条简单的路径。您可以在

此处

了解如何创建自己的服务。 我还按照相同的指南创建了我的自定义。我使用了官方服务

application.yml

的副本,添加了自定义启动器并实现了我自己的 InitializrMetadataUpdateStrategy 以排除 Spring 快照。

如果您使用Maven,那么您可以创建一个

Maven原型

,我认为这比处理Spring Initializr定制更容易。 Maven 原型是一种项目的抽象,可以 实例化为具体的定制 Maven 项目。简而言之,就是 用于创建其他项目的模板项目模板。

这个

指南

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

此外,您可以在 GitHub

上查看我的 Spring Boot maven 原型

如果我正确理解您的需求,我认为您需要一个工具来根据您自己的架构设计引导您的项目。为此,我个人使用 Telosys (

https://www.telosys.org/

2
投票

如果您只需要一个非常基本的项目初始化程序,当然您可以使用“Spring Initializr”,但如果您需要更进一步,像 Telosys 这样的工具更强大,可以生成所有基本类(域、REST 控制器、存储库等) . 它允许自定义您的代码生成模板,以便准确获得您想要的内容。 您可以将其用作“命令行”工具 (Telosys-CLI) 或与 Eclipse(Telosys 插件)一起使用。 有关更多信息,请参阅文档:

https://doc.telosys.org/

或此视频:

https://www.youtube.com/watch?v=nMEZ4tz-E4k

目前我一直在为开发人员构建这个工具,不仅能够生成 Spring boot 项目,还能够设计 Spring 组件,如服务、实体、存储库等。看看这个

https://www.codern.io/

0
投票

© www.soinside.com 2019 - 2024. All rights reserved.