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

How can I create a customized Spring code generator?

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

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

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

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

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

您可以根据自己的需要自定义 Spring Initializr 服务,但这不是一条简单的途径。您可以查看如何创建自己的服务 here.

我还创建了 my custom one following the same guide. I used a copy of the official service application.yml,我添加了自定义启动器并实现了我自己的 InitializrMetadataUpdateStrategy 以排除 Spring 快照。

如果你正在使用 Maven 那么你可以创建一个 Maven 原型,我认为这会比处理 Spring Initializr 自定义.

A Maven archetype is an abstraction of a kind of a project that can be instantiated into a concrete customized Maven project. In short, it's a template project template from which other projects are created.

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