アノテーションインターフェース 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
- 関連事項: