对该方法的评论

Spring 团队创建了两种创建新项目的方法和一种修改现有项目的方法。我们发现最佳方法是使用 Spring Initializr 生成一个项目,然后使用命令将其添加到该项目中。以下部分解释了为什么这是最佳方法:boot addspring-doc.cn

Initializr

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

使用 Boot New

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

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

使用 Boot Add

然后,在初始项目创建后,您可以根据需要使用命令添加其他代码和依赖项。 此命令可智能地将现有项目合并到当前项目中。 与该命令一样,现有项目是源代码存储库中的常规 Spring 项目,可以对其进行编译和验证以使用 CI 流程。 有关更多信息,请参阅 Guide to “boot add”boot addboot newspring-doc.cn

模板化代码和配置

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

结论

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

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

您的体验可能有所不同,但 Spring CLI 中提供了这两种类型的代码生成。spring-doc.cn