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エディタ