について理解するおよび
XML またはパッケージ スキャンを通じて、定義方法に関係なく、アプリケーション コンテキストにすでに存在する Bean のアノテーションをアクティブにします。
は、アノテーションを有効にするだけでなく、パッケージ スキャンも実行します。アプリケーションコンテキスト内で Bean を検索して登録します。
類似点と違い
- どちらのタグも Spring Bean でアノテーションを有効にします。
- どちらもアノテーション処理用に同じ Bean ポストプロセッサを登録します。
エクスクルーシブ機能
- はパッケージのスキャンを実行して Bean を識別します。
使用シナリオ
- XML のみで定義された Bean の場合、アノテーションを有効にするのに十分です。
- パッケージ スキャンを通じて検出された Bean の場合、注釈のアクティブ化とスキャンの両方を組み合わせるため、これは必要です。
両方のタグの組み合わせ
- 両方のタグを同時に使用することは可能ですが、 であるため、通常は必要ありません。 の機能を実現できます。
- If が存在します。
使用例
次の XML 構成を考えてみましょう。
<context:annotation-config />
<context:component-scan base-package="com.example" />
<bean>
ログイン後にコピー
この例では、 は、手動で定義された「myBean」Bean のアノテーションをアクティブにします。 「com.example」パッケージをスキャンして、アノテーション付き Bean を探します。両方の および 同じ Bean ポストプロセッサを登録します。
以上が春の「 vs. 」: いつどちらを使用するか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。