【Spring boot】DIに関するアノテーションのあれこれ
Spring Bootのアノテーションについての備忘録です。
◆デフォルトのコンポーネントスキャン
- 以下のアノテーションがついたクラスはデフォルトでDIコンテナに登録される。
- @Component、@Controller、@Service、@Repository、@Configuration、@RestController、@ControllerAdvice、@ManagedBean、@Named
◆@Configuration
- デフォルトのコンポーネントスキャンによる自動登録ができないクラスをDIコンテナに登録したい場合に使用する。
- よくあるのは、AppConfig.javaに@Configurationを付与するかたち。
- 参考サイト
Spring BootでConfigurationクラスを用いてBean定義する方法 - Reasonable Code
◆@ComponentScan
- パッケージが異なるコンポーネントをオートワイヤリングしたい場合、指定したパッケージをスキャンする。
- 依存プロジェクトから参照する場合に使用することが多い。
- 参考サイト
◆@SpringApplicationで実行されるアノテーション
- 以下にまとめてくださっている。
- 参考サイト
◆@Qualifier