SpringでDIを行うアノテーション方式
Springで依存関係の注入に使えるアノテーションは以下になります。
- @Autowired:通过自动装配将依赖对象注入到目标对象中。
- 具体的な依存オブジェクトを指定し、複数の同種の依存オブジェクトの問題を解決するために `@Autowired` とともに使用する
- ネイティブなインジェクションを使用すると、依存対象の特定の名前を指定するか、デフォルトでプロパティの名前を使用して名前を使用できます。
- @Valueアノテーションは、ターゲットオブジェクトに値を挿入し、基本的なタイプ、文字列、配列、コレクションなどを挿入できます。
- @Inject: @Autowiredと同様に自動的に結び付けられますが、@InjectはJava仕様の注釈で、@AutowiredはSpringによって提供されます。
- @Configuration:設定クラスの定義に使用され、その中の @Bean アノテーションはメソッドの戻り値を Spring コンテナに注入するために使用されます。
- @Component:汎用のアノテーションで、コンポーネントを表す。依存性注入で @Autowired と合わせて使用できます。
- @Repository:データアクセス層のBeanに付ける注釈。
- サービス:ビジネスロジック層のBeanを示すのに使用されます。
- @Controllerというアノテーションは、Beanにコントローラー層の役割を示す。
必要に応じてこれらの注釈を柔軟に組み合わせて使用し、依存性の注入機能を実現します。