世界を旅して人生を楽しもう。コメントを書くSpringプロジェクトをマルチモジュールで構成する方法(Maven編)マルチモジュール化は機能のまとまりを明確化し、プロジェクト再利用性やメンテナンス性を高める良い方法です。今回は、Mavenでのマルチモジュール化の方法と、それをSpringプロジェクトに適用する方法を紹介します。はじめにマルチモジュール化とは、プロジェクト内に複数のプロジェクトを閉じ込めるようにプロジェクトを構成することです。MavenのPOMには親子関係を示す記述方法があり、それを利用することで複数のプロジェクトに機能分割しつつ、ビルドをまとめて実施することが可能です。汎用的な機能を分割しておけば他のプロジェクトに再利用できますし、プロジェクトの肥大化を防げるのでメンテナンスが容易になります。それでは、Mavenによるマルチモジュール化の方法と、Springプロジェクトへの適用方法を見ていきましょう。以下がインストールされている前提で進めます。Java10Maven3細かいバージョンは「環境」を参照して下さい。サンプルのベースのプロジェクトを作るまずはMavenでベースのプロジェクトを作りましょう。-DartifactId=sample-multi-modules-appマルチモジュール作成方法1IntelliJからモジュール追加するIntelliJのIDEを使ってモジュールを追加しましょう。IDEで「sample-multi-modules-app」を開き、「src」フォルダを削除します。Module」を選択します。「Next」をクリックします。モジュール名(今回は「core」)を入力して「Next」をクリックします。「Finish」をクリックすれば完了です。同様に「main」というモジュールも追加します。すると以下のようになります。2つのモジュールが追加されており、POMファイルが3つになっています。デフォルトで作成されたPOMファイルは以下のようになっています。<artifactId>main</artifactId></project>マルチモジュール作成方法2MavenコマンドからGenerateするもちろん、Mavenコマンドからマルチモジュールを構成することが可能です。pom.xmlただし、IntelliJと違って自動でPOMファイルをうまく修正してくれないので、手動での修正が多くなります。サンプルをSpringプロジェクトにするサンプルを動く形に手直ししましょう。IDEで以下の構成でファイルを作成します。pom.xmlソースコードは以下になります。マルチモジュール化したことで、POMを親子で構成している点がポイントです。}}実行してみましょう。stopped.正しく動作しました。これでSpringプロジェクトをマルチモジュール化できました。最後にいかがでしたか?これでMavenを使ってSpringプロジェクトをマルチモジュール化できるようになりましたね。ほとんどのプロジェクトで有効な方法ですので、実践していきましょう。SpringFrameworkのIoCの方法およびDIの使い方JavaやKotlinでWebアプリケーションを作るのであればSpringFrameworkを利用するのが一般的であり、SpringFrameworkと言えばDIコンテナの代表格です。今回は、SpringFrameworkの初学者向けにIOCとDI方法をまとめて紹介します。Injection)とは、日本語では「依存性注入」と訳されているため初学者には意味不明ですが、要はクラス同士を疎結合で利用する手法です。Object)という言葉もあります。Oldというあたりは歴史を物語っているようですね。現在ではDIを使うことで各クラス間は疎結合に保たれるので、POJOをそのまま組み合わせて利用するのが普通です。Control)、日本語では「制御の逆転」ですが、要はDIの利用方法と捉えれば良いと思います。DIの利用方法は、登場した2003年当時はXMLによる方法しか提供されていませんでしたが、現在ではアノテーションが主流となっています。いっても、おそらく現場レベルで最も多く使われているのはXMLとアノテーションのハイブリッドでしょう。アノテーションは便利ですが、XMLには柔軟性があります。今回は、SpringFrameworkのDIの利用方法(「IoC方法」と表記)およびDIの使い方をまとめて紹介します。以下がインストールされている前提で進めます。Java10Maven3細かいバージョンは「環境」を参照して下さい。サンプルアプリケーションを作るまずはMavenで雛形を作成し、DIするためだけに拡張したHelloWorldのサンプルアプリケーションを作ります。projectそれぞれのソースコードは以下です。