使用 Boot Add 指南
您可以使用 project list
指令中提供的所有專案,將程式碼和組態新增至現有專案。
CLI 透過以下方式執行此操作
-
合併 Maven 建置檔案,以便將任何遺失的專案屬性、相依性、相依性管理和外掛程式新增至目標專案。
-
執行套件重構,使要複製到目標專案的程式碼具有相同的套件結構。
-
在目標專案的 Spring Boot 主要應用程式中新增任何遺失的註解。
-
將
README.adoc
(或 .md) 檔案重新命名為README-<專案名稱>.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