Spring 团队创建了两种创建新项目的方法和一种修改现有项目的方法。我们发现最佳方法是使用 Spring Initializr 生成一个项目,然后使用命令添加到其中。以下各节解释了为什么这是最佳方法:boot addSpring中文文档

Initializr

创建新的 Spring Boot 项目的常用方法是使用 Initializr,start.spring.io。 Spring CLI 为您提供了与 Initializr 交互的命令。请参阅 Initializr,但也提供了创建新项目的其他方法,并解决了向现有项目添加代码或配置的用例。day-2Spring中文文档

使用“新启动”(Boot New)

该命令允许您从源代码存储库中的现有项目创建新项目。 该命令允许您指定一小组选项以根据您的需要对其进行自定义(例如更改包名称),但它不提供使用 Initializr 获得的依赖项选择。boot newboot newSpring中文文档

的方法是克隆一个现有的存储库,该存储库除了包含项目的依赖项外,还包含完全可用的代码和配置。 这种方法使你或你的团队成员可以轻松地创建多个项目原型,因为它们是源代码存储库中的常规 Spring 项目,可以验证是否可以使用 CI 流程。 有关详细信息,请参阅创建新项目boot newSpring中文文档

使用启动添加

然后,在初始项目创建后,可以使用该命令根据需要添加其他代码和依赖项。 此命令可智能地将现有项目合并到当前项目中。 与命令一样,现有项目是源代码存储库中的常规 Spring 项目,可以对其进行编译和验证以使用 CI 进程。 有关详细信息,请参阅“引导添加”指南boot addboot newSpring中文文档

模板化代码和配置

或者,您可以使用用户定义的命令添加其他代码和依赖项,这些命令依赖于使用模板引擎创建代码和配置。 有关详细信息,请参阅用户定义命令指南。 使用模板引擎并使用户能够轻松贡献调用这些模板的命令的方法受到 hygen 项目的启发。Spring中文文档

结论

虽然添加额外代码和依赖项的两种方法都有其用例,但在从头开始创建新项目时,我们发现从工作项目开始更容易。您不仅可以获得公司所需的已批准依赖项,还可以获得代码、配置和测试。 这是一个起点,可以消除从教程中选择依赖项和复制代码的繁忙工作和不确定性。 通常,这些教程非常基础,以至于它们不遵循常见的最佳实践约定,也没有测试。Spring中文文档

使用模板创建新项目可能是一个挑战。在我们看来,为新项目模板化 Java 代码比从现有工作项目克隆新项目更困难。 创建模板、运行模板,然后编译生成的项目的周期是脆弱的。 但是,我们发现,创建较小的代码块和配置块更适合模板化方法,例如,用于将控制器添加到当前项目或使用控制器添加一些文件,例如用 、 和 注释的类。spring controller newspring feature new@Controller@Service@RepositorySpring中文文档

您的体验可能会有所不同,但这两种类型的代码生成在 Spring CLI 中都可用。Spring中文文档