アノテーションベースのコンテナー構成
Spring は、関連するクラス、メソッド、フィールド宣言のアノテーションを使用して、コンポーネントクラス自体のメタデータを操作する、アノテーションベースの構成の包括的なサポートを提供します。サンプル: AutowiredAnnotationBeanPostProcessor
で説明したように、Spring は、アノテーションと組み合わせて BeanPostProcessors
を使用して、コア IOC コンテナーに特定のアノテーションを認識させます。
例: @Autowired
アノテーションは、オートワイヤーのコラボレーターで説明されているものと同じ機能を提供しますが、よりきめ細かい制御とより広い適用性を備えています。さらに、Spring は、@PostConstruct
や @PreDestroy
などの JSR-250 アノテーションのサポートと、@Inject
や @Named
などの jakarta.inject
パッケージに含まれる JSR-330 (Dependency Injection for Java) アノテーションのサポートを提供します。これらのアノテーションの詳細については、関連するセクションを参照してください。
アノテーションの注入は、外部プロパティの注入の前に実行されます。混合アプローチで接続された場合、外部構成 (XML 指定の Bean プロパティなど) は、プロパティのアノテーションを効果的にオーバーライドします。 |
技術的には、ポストプロセッサーを個別の Bean 定義として登録できますが、それらはすでに AnnotationConfigApplicationContext
に暗黙的に登録されています。
XML ベースの Spring セットアップでは、アノテーションベースの構成との混合と一致を有効にするために、次の構成タグを含めることができます。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd">
<context:annotation-config/>
</beans>
<context:annotation-config/>
要素は、次のポストプロセッサーを暗黙的に登録します。
|