最新の安定バージョンについては、Spring Cli 0.9.0 を使用してください! |
アプローチに関するコメント
Initializr
新しい Spring Boot プロジェクトを作成する一般的な方法は、Initializr (別名 start.spring.io ) を使用することでした。Spring CLI は、Initializr と対話するためのコマンドを提供します ( Initializr を参照)。また、新しいプロジェクトを作成するための他のアプローチも提供し、既存のプロジェクトにコードまたは構成を追加する day-2 ユースケースに対応します。
Boot 新規
コマンド boot new を使用すると、ソースコードリポジトリにある既存のプロジェクトから新しいプロジェクトを作成できます。boot new コマンドを使用すると、パッケージ名の変更など、ニーズに合わせてカスタマイズするための小さなオプションセットを指定できますが、Initializr で取得する依存関係の選択は提供されません。
boot new のアプローチは、プロジェクトの依存関係に加えて、完全に機能するコードと構成を含む既存のリポジトリのクローンを作成することです。このアプローチにより、プロジェクトアーキ型はソースコードリポジトリ内の通常の Spring プロジェクトであり、CI プロセスで動作することが検証できるため、ユーザーまたはチームのメンバーは複数のプロジェクトアーキ型を非常に簡単に作成できます。詳細については、"新規プロジェクトの作成" セクションを参照してください。
Boot 追加
最初のプロジェクトの作成後、boot add コマンドを使用して、必要に応じて追加のコードと依存関係を追加できます。このコマンドは、既存のプロジェクトを現在のプロジェクトにインテリジェントにマージします。boot new コマンドと同様に、既存のプロジェクトはソースコードリポジトリ内の通常の Spring プロジェクトであり、CI プロセスで動作するようにコンパイルおよび検証できます。詳細については、"「Boot 追加」のガイド" セクションを参照してください。
テンプレートコードと設定
あるいは、テンプレートエンジンを使用してコードと構成を作成するユーザー定義コマンドを使用して、追加のコードと依存関係を追加することもできます。詳細については、セクション ref:user-command-guide.adoc[ ユーザー定義コマンドのガイド ] を参照してください。テンプレートエンジンを使用し、ユーザーがこれらのテンプレートを呼び出すコマンドを簡単に提供できるようにするアプローチは、プロジェクト hygen [GitHub] (英語) からインスピレーションを受けました。
結論
コードや依存関係を追加するどちらのアプローチにもそれぞれユースケースがありますが、ゼロから新しいプロジェクトを作成する場合は、実際に稼働しているプロジェクトから始める方が簡単だと感じています。なぜなら、会社で必要な承認済みの依存関係だけでなく、コード、構成、テストも入手できるからです。これは、依存関係の選択やチュートリアルからのコードの切り貼りといった煩雑な作業や不確実性を排除してくれる出発点です。こうしたチュートリアルはあまりにも基本的な内容で、一般的なベストプラクティスの慣例に従っていない場合や、テストが全く含まれていない場合もあります。
テンプレートを使用して新しいプロジェクトを作成するのは難しい場合があります。私の意見では、新しいプロジェクト用に Java コードをテンプレート化することは、既存の作業プロジェクトから新しいプロジェクトを複製することよりも困難です。テンプレートの作成、テンプレートの実行、生成されたプロジェクトのコンパイルというサイクルは不安定です。ただし、コードと構成の小さなブロックを作成する方が、テンプレート化アプローチに適していることがわかりました。現在のプロジェクトにコントローラーを追加する spring controller new、または @Controller、@Service、@Repository のアノテーションが付けられたクラスなどのいくつかのファイルを追加する spring feature new。
エクスペリエンスは異なる場合がありますが、Spring CLI では両方の型のコード生成アプローチを使用できます。