アノテーションインターフェース EnableAutoConfiguration
@TargetSE(TYPESE)
@RetentionSE(RUNTIMESE)
@DocumentedSE
@InheritedSE
@AutoConfigurationPackage
@Import(AutoConfigurationImportSelector.class)
public @interface EnableAutoConfiguration
Spring アプリケーションコンテキストの自動構成を有効にし、必要となる可能性のある Bean を推測および構成しようとします。通常、自動構成クラスは、クラスパスと定義した Bean に基づいて適用されます。例:
tomcat-embedded.jar がクラスパスにある場合、TomcatServletWebServerFactory が必要になる可能性があります(独自の ServletWebServerFactory Bean を定義していない場合)。@SpringBootApplication を使用する場合、コンテキストの自動構成は自動的に有効になるため、このアノテーションを追加しても追加の効果はありません。
自動構成は可能な限りインテリジェントにしようとしますが、独自の構成を定義するにつれて後退します。適用したくない設定はいつでも手動で exclude() できます (それらにアクセスできない場合は excludeName() を使用してください)。spring.autoconfigure.exclude プロパティを使用して除外することもできます。自動構成は、ユーザー定義の Bean が登録された後に常に適用されます。
通常は @SpringBootApplication を介して @EnableAutoConfiguration でアノテーションが付けられたクラスのパッケージには、特定の意味があり、多くの場合、'default' として使用されます。例: @Entity クラスをスキャンするときに使用されます。すべてのサブパッケージとクラスを検索できるように、ルートパッケージに @EnableAutoConfiguration を配置することをお勧めします ( @SpringBootApplication を使用していない場合)。
自動構成クラスは通常の Spring @Configuration Bean です。それらは ImportCandidates を使用して配置されます。通常、自動構成 Bean は @Conditional Bean です (ほとんどの場合、@ConditionalOnClass および @ConditionalOnMissingBean アノテーションを使用します)。
- 導入:
- 1.0.0
- 作成者:
- Phillip Webb, Stephane Nicoll
- 関連事項: