DIとは
- Dependency Injection(依存性注入)の略
- オブジェクトの成立に必要なコードを分離し、プログラム実行時に注入する手法
- 例:2つのクラスの間に依存関係があり、そのうちの1つのクラスが完成していない場合
完成済みのクラスをテスト(単体テスト)はできない
しかし、依存性注入によってクラスの依存関係が解消され、完成済みクラスをテストすることが可能 - このため、システムを改修する場合も最低限の変更で済ませることができ、開発が楽になる
今回の学習では以下の手順でDIを導入(DIの有無で動作確認の為)
- 非DIのプロジェクトをコピー
- 以下を3つをBean化
- コントローラー
- サービス
- リポジトリ
実例
例:2つのクラスの間に依存関係があり、そのうちの1つのクラスが完成していない場合
DIなし
※完成済みのクラスをテスト(単体テスト)はできない
DIあり
依存性注入によってクラスの依存関係が解消され、完成済みクラスをテストすることが可能
その他のテストの例
存在しないURL
DIなし
DIあり
不要な文字が入っている場合
DIなし
DIあり
DIの有無のコード比較
確認すること
- spring-boot-starter-parentのバージョンが新しすぎないか
demoプロジェクト内のと比較しましたが問題なし
- Mavenの更新はしたか
- pom.xmlで右クリック⇒Maven⇒プロジェクトの更新
- pom.xmlのエラーが出ているプロジェクトを選択しOK
エディタの分割
ファイルのタブをクリックしてエディタのウィンドウにドラッグ
ドラッグの位置により水平か垂直か視覚的にわかるので好きな方で。
参考サイト:
コードの比較
主な用途:同じコードを元に、違うコードを書くときに使用