Boot Add の使用ガイド
project list
コマンドで使用可能なすべてのプロジェクトを使用して、既存のプロジェクトにコードと構成を追加できます。
CLI はこれを次のように実行します。
Maven ビルドファイルをマージし、不足しているプロジェクトプロパティ、依存関係、依存関係管理、プラグインをターゲットプロジェクトに追加します。
パッケージのリファクタリングを実行して、コードが同じパッケージ構造でターゲットプロジェクトにコピーされるようにします。
ターゲットプロジェクトの Spring Boot メインアプリケーションに不足しているアノテーションを追加します。
追加されたコードに関する追加情報を記述できるように、
README.adoc
(または .md) ファイルの名前を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
の実行時にコードベースのインテリジェントなマージを実行するには、プロジェクト内の次の規則に従う必要があります。
メインの
@SpringBootApplication
は、サブパッケージ内の他のすべてのコードとともにパッケージ階層のルートに配置する必要があります。@SpringBootApplication
クラスには追加の@Bean
アノテーションがあってはなりません。すべての構成は別の@Configuration
クラスに存在する必要があります。
制限
現在、単一モジュールの Maven プロジェクトのみがサポートされています。単一モジュール Gradle プロジェクトのサポートは、1.0 リリースで計画されています。マルチモジュールプロジェクトをサポートするためのタイムラインは定義されていません。