方法概述
Spring 团队创建了两种创建新项目的方法和一种修改现有项目的方法。我们发现最佳方法是使用 Spring Initializr 生成项目,然后使用 `boot add` 命令对其进行添加。以下部分解释了为什么这是最佳方法。
Initializr
创建新的 Spring Boot 项目的常用方法是使用 Initializr,地址为 start.spring.io。Spring CLI 提供了一个命令来与 Initializr 交互。请参阅 Initializr,它还提供了其他创建新项目的方法,并解决了在现有项目中添加代码或配置的“第二天”用例。
使用 Boot New
`boot new` 命令允许您从位于源代码存储库中的现有项目创建新项目。`boot new` 命令允许您指定少量选项来自定义它(例如更改包名称),但它不提供 Initializr 提供的依赖项选择。
`boot new` 方法是克隆包含完整工作代码和配置以及项目依赖项的现有存储库。这种方法使您或团队成员可以轻松创建多个项目原型,因为它们是源代码存储库中的常规 Spring 项目,可以验证其是否可以通过 CI 流程工作。有关更多信息,请参阅 创建新项目。
使用 Boot Add
然后,在初始项目创建后,您可以使用 `boot add` 命令根据需要添加其他代码和依赖项。此命令会智能地将现有项目合并到当前项目中。与 `boot new` 命令一样,现有项目是源代码存储库中的常规 Spring 项目,可以编译并验证其是否可以通过 CI 流程工作。有关更多信息,请参阅 "boot add" 指南。
结论
虽然添加其他代码和依赖项的两种方法都有其用例,但在从头开始创建新项目时,我们发现从工作项目开始更容易。您不仅可以获得公司所需的已批准的依赖项,还可以获得代码、配置和测试。这是一个起点,它消除了选择依赖项和从教程中复制代码的繁琐工作和不确定性。通常,这些教程非常基础,不遵循常见的最佳实践约定,也没有测试。
使用模板创建新项目可能是一项挑战。在我们看来,为新项目编写 Java 代码模板比从现有工作项目克隆新项目更困难。创建模板、运行模板,然后编译生成的项目的周期很脆弱。但是,我们发现创建较小的代码块和配置更适合模板方法,例如,使用 `spring controller new` 将控制器添加到当前项目,或使用 `spring feature new` 添加一些文件,例如用 `@Controller`、`@Service` 和 `@Repository` 注释的类。
您的体验可能有所不同,但两种类型的代码生成都在 Spring CLI 中可用。