Boot Add 使用指南

您可以使用命令中提供的所有项目将代码和配置添加到现有项目中。project listspring-doc.cn

CLI 通过以下方式执行此操作:spring-doc.cn

  • 合并 Maven 构建文件,以便将任何缺少的项目属性、依赖项、依赖项管理和插件添加到目标项目中。spring-doc.cn

  • 执行包重构,以便将代码复制到具有相同包结构的目标项目中。spring-doc.cn

  • 在目标项目中的 Spring Boot 主应用程序上添加任何缺失的注释。spring-doc.cn

  • 将 (或 .md) 文件重命名为 ,以便您可以描述有关已添加代码的其他信息。README.adocREADME-<project-name>.adocspring-doc.cn

  • 合并和文件。application.yamlapplication.propertiesspring-doc.cn

目前,执行此任务的启发式方法尚未 100% 完成,因此如果您是早期采用者,预计会遇到一些颠簸。spring-doc.cn

例如,假设我们添加了入门目录:spring-doc.cn

spring catalog add gs https://github.com/rd-1-2022/spring-gs-catalog

这为我们提供了以下项目供您选择:spring-doc.cn

┌──────────┬────────────────────────────────────────────────────────┬────────────────────────────────────────────────────────────────┬───────┬──────────────┐
│Name      │URL                                                     │Description                                                     │Catalog│Tags          │
├──────────┼────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────┼───────┼──────────────┤
│web       │https://github.com/rd-1-2022/rpt-rest-service           │Hello, World RESTful web service.                               │gs     │[rest, web]   │
├──────────┼────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────┼───────┼──────────────┤
│jpa       │https://github.com/rd-1-2022/rpt-spring-data-jpa        │Learn how to work with JPA data persistence using Spring Data   │gs     │[jpa, h2]     │
│          │                                                        │JPA.                                                            │       │              │
├──────────┼────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────┼───────┼──────────────┤
│eureka    │https://github.com/rd-1-2022/eureka                     │Spring Cloud Eureka Server                                      │gs     │[cloud,       │
│          │                                                        │                                                                │       │eureka]       │
└──────────┴────────────────────────────────────────────────────────┴────────────────────────────────────────────────────────────────┴───────┴──────────────┘

我们可以创建一个新的 Web 项目,然后通过运行以下命令将 JPA 功能添加到该项目中:spring-doc.cn

spring boot new demo web --package-name com.xkcd
cd demo
spring boot add jpa

项目树现在包含 Web 应用程序和 JPA 功能:spring-doc.cn

$ tree
.
├── LICENSE
├── mvnw
├── mvnw.cmd
├── pom.xml
├── README.adoc
├── README-jpa.md
└── src
    ├── main
    │   └── java
    │       └── com
    │           └── xkcd
    │               ├── Application.java
    │               ├── customer
    │               │   ├── CustomerCommandLineRunner.java
    │               │   ├── Customer.java
    │               │   └── CustomerRepository.java
    │               └── greeting
    │                   ├── GreetingController.java
    │                   └── Greeting.java
    └── test
        └── java
            └── com
                └── xkcd
                    ├── customer
                    │   └── CustomerRepositoryTests.java
                    └── greeting
                        └── GreetingControllerTests.java

约定

要在运行 时执行代码库的智能合并,必须遵循项目中的以下约定:spring boot addspring-doc.cn

  • 您应该将 main 放在 package 层次结构的根目录下,所有其他代码都放在 subpackages 中。@SpringBootApplicationspring-doc.cn

  • 类中不应有其他注释。 任何配置都应该位于单独的 class 中。@Bean@SpringBootApplication@Configurationspring-doc.cn

局限性

目前仅支持单模块 Maven 项目。 计划在 1.0 版本中支持单模块 Gradle 项目。 没有为支持多模块项目定义时间表。spring-doc.cn