3.1. 実装方針

3.1.1. 本ガイドラインにおけるアプリケーション実装方針

本ガイドラインで紹介するサンプルコードに関する実装方針について説明する。

3.1.1.1. Macchinetta Server Framework for Java (1.x) 開発ガイドラインの踏襲

本ガイドラインでは、Macchinetta Server Framework for Java (1.x) 開発ガイドラインで説明されているノウハウを踏襲するため、以下の方針でサンプルコードを記載している。

3.1.1.1.1. XMLConfigの利用

フレームワークの拡張などで作成したAP基盤関連クラスのBean定義を行う際はXML Configを使用してBean定義ファイルによる集中管理を行う。 ComponentScanによるBean定義は行わない。

Note

業務開発者が作成したServiceクラスなどはComponentScanを使用しても良い。

また、Java ConfigによるBean定義を極力行わない。

3.1.1.1.2. AutoConfigの利用方針

Spring Bootの機能であるAutoConfigについては以下の方針で利用している。

  • Spring Cloudなどのアプリケーションをクラウドネイティブとするため、 Macchinetta Server Framework for Java (1.x) で使用しているライブラリに加えて新規に導入するライブラリに関するBean定義についてはAutoConfigを利用する
  • Macchinetta Server Framework for Java (1.x) で使用しているライブラリに関するBean定義についてはXMLConfigを利用する

3.1.1.1.3. インジェクションに使用するアノテーション

本ガイドラインでは、@Injectを使用してインジェクションを行う。@Autowiredは使用しない。

3.1.1.1.4. デプロイ可能warファイルの作成

本ガイドラインでは、Spring Bootの組み込みTomcatを使用せず、SpringBootServletInitializerを使用してデプロイ可能warファイルを作成する方針とする。

また、Servlet関連の定義はSpring BootのJavaConfigを使用せず、web.xmlに記載する。

Warning

組み込みTomcatを使用しないことで、 Macchinetta Server Framework for Java (1.x) の機能に制約が生じる。

制約の内容については、Spring Bootで組み込みTomcatを使用しない場合の制約事項 を参照されたい。

3.1.1.2. プロパティの設定形式について

本ガイドラインでは、プロパティの設定形式について以下の方針としている。

  • フレームワークの設定・拡張などを行うAP基盤開発者が編集するファイルについてはYAML形式を使用する
  • 業務アプリケーションの開発者が編集するファイルについてはproperties形式で使用する

Note

フレームワークの設定を行う場合、Spring Tool Suite を使用してYAML形式のキーの入力補完が可能であるため、作業効率を考慮してYAML形式を採用している。

また、直感的な記載が可能であることから業務開発者向けの設定はproperties形式とした。