Boot Add 使用指南
您可以使用命令中提供的所有项目将代码和配置添加到现有项目中。project list
CLI 通过以下方式执行此操作:
-
合并 Maven 构建文件,以便将任何缺少的项目属性、依赖项、依赖项管理和插件添加到目标项目中。
-
执行包重构,以便将代码复制到具有相同包结构的目标项目中。
-
在目标项目中的 Spring Boot 主应用程序上添加任何缺失的注释。
-
将 (或 .md) 文件重命名为 ,以便您可以描述有关已添加代码的其他信息。
README.adoc
README-<project-name>.adoc
-
合并和文件。
application.yaml
application.properties
目前,执行此任务的启发式方法尚未 100% 完成,因此如果您是早期采用者,预计会遇到一些颠簸。
例如,假设我们添加了入门目录:
spring catalog add gs https://github.com/rd-1-2022/spring-gs-catalog
这为我们提供了以下项目供您选择:
┌──────────┬────────────────────────────────────────────────────────┬────────────────────────────────────────────────────────────────┬───────┬──────────────┐
│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 boot new demo web --package-name com.xkcd
cd demo
spring boot add jpa
项目树现在包含 Web 应用程序和 JPA 功能:
$ 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 add
-
您应该将 main 放在 package 层次结构的根目录下,所有其他代码都放在 subpackages 中。
@SpringBootApplication
-
类中不应有其他注释。 任何配置都应该位于单独的 class 中。
@Bean
@SpringBootApplication
@Configuration