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) の機能に制約が生じる。
制約の内容については、オンライン版クラウド拡張開発プロジェクトの作成 を参照されたい。
3.1.1.2. プロパティの設定形式について¶
本ガイドラインでは、プロパティの設定形式について以下の方針としている。
- フレームワークの設定・拡張などを行うAP基盤開発者が編集するファイルについてはYAML形式を使用する
- 業務アプリケーションの開発者が編集するファイルについてはproperties形式で使用する
Note
フレームワークの設定を行う場合、Spring Tool Suite を使用してYAML形式のキーの入力補完が可能であるため、作業効率を考慮してYAML形式を採用している。
また、直感的な記載が可能であることから業務開発者向けの設定はproperties形式とした。