<JavaLearn/>
Spring Boot レッスン5

DI(依存性注入)

コンストラクタインジェクション、@Qualifier、@Primary

依存性注入(DI)とは

DI(Dependency Injection)は、オブジェクト間の依存関係を外部から注入するデザインパターンです。 Springでは コンストラクタインジェクション が推奨され、 同じインターフェースの実装が複数ある場合は @Qualifier@Primary で注入先を制御します。

  • コンストラクタインジェクション - 推奨。不変性を保証、テスト容易
  • フィールドインジェクション(@Autowired) - 非推奨。テスト困難
  • @Qualifier("beanName") - 同一インターフェースの複数実装から選択
  • @Primary - デフォルトで注入されるBeanを指定

コンストラクタインジェクション

コンストラクタでの注入は不変性を保証し、依存関係が明確になります。 コンストラクタが1つだけの場合、@Autowired は省略可能です。

Javaエディタ

@Qualifierと@Primary

同じインターフェースの実装が複数ある場合、@Primary でデフォルトを指定し、@Qualifier で明示的に選択できます。

Javaエディタ