Spring @Autowired の使用法を理解する
@Autowired アノテーションにより、XML 構成での手動配線の必要がなくなります。型の一致に基づいて依存関係の挿入を自動化します。
Autowired の例
クラスの例をもう一度見てみましょう。
public class SimpleMovieLister { private MovieFinder movieFinder; @Autowired public void setMovieFinder(MovieFinder movieFinder) { this.movieFinder = movieFinder; } } public class MovieRecommender { private MovieCatalog movieCatalog; private CustomerPreferenceDao customerPreferenceDao; @Autowired public void prepare(MovieCatalog movieCatalog, CustomerPreferenceDao customerPreferenceDao) { this.movieCatalog = movieCatalog; this.customerPreferenceDao = customerPreferenceDao; } }
方法Spring Autowire の複数の実装Beans
@Autowired 宣言では、Spring はパラメーター タイプ (MovieCatalog と CustomerPreferenceDao) を使用して一致する Bean を検索します。複数の一致する Bean が見つかった場合は、例外が発生します。
同じタイプの Bean の処理
アプリケーションに同じインターフェイスを実装する複数の Bean がある場合は、以下を使用できます。 @Qualifier アノテーションを使用して、どの Bean を注入するかを指定します。
@Qualifier("redBean") class Red implements Color { // Class code } @Qualifier("blueBean") class Blue implements Color { // Class code } // Main Class @Autowired @Qualifier("redBean") private Color color;
または、次のように使用できます。 @Autowired と @Qualifier を単一のアノテーションに結合するための @Resource:
@Resource(name="redBean") private Color color;
ベスト プラクティス
代わりに @Inject (JSR-330 の一部) の使用を検討してください。移植性を高めるために @Autowired を使用します。さらに、例外処理を改善するために、メソッドではなくコンストラクターにアノテーションを付けることをお勧めします。
結論
@Autowired は、Bean ワイヤリング プロセスを自動化し、必要な依存関係は必要な場所に注入されます。ベスト プラクティスを採用することで、Spring アプリケーションで効率的かつ信頼性の高い自動配線を確保できます。
以上がSpring の @Autowired アノテーションは依存関係の注入をどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。