@TargetSE(valueSE=TYPESE) @RetentionSE(valueSE=RUNTIMESE) @DocumentedSE @InheritedSE @AutoConfigurationPackage @Import(value=AutoConfigurationImportSelector.class) public @interface EnableAutoConfiguration
tomcat-embedded.jar
がクラスパスにある場合、TomcatServletWebServerFactory
が必要になる可能性があります(独自の ServletWebServerFactory
Bean を定義していない場合)。@SpringBootApplication
を使用する場合、コンテキストの自動構成は自動的に有効になるため、このアノテーションを追加しても追加の効果はありません。
自動構成は、可能な限りインテリジェントになるように試み、独自の構成をさらに定義すると後退します。適用したくない設定は、いつでも手動で exclude()
できます(アクセスできない場合は、excludeName()
を使用してください)。spring.autoconfigure.exclude
プロパティを使用して除外することもできます。自動構成は、ユーザー定義の Bean が登録された後に常に適用されます。
通常 @SpringBootApplication
を介して @EnableAutoConfiguration
でアノテーションが付けられているクラスのパッケージには特定の意味があり、多くの場合 'default' として使用されます。例: @Entity
クラスをスキャンするときに使用されます。通常、すべてのサブパッケージとクラスを検索できるように、@EnableAutoConfiguration
(@SpringBootApplication
を使用していない場合)をルートパッケージに配置することをお勧めします。
自動構成クラスは、通常の Spring @Configuration
Bean です。これらは、SpringFactoriesLoader
メカニズム(このクラスに対してキー設定されます)を使用して配置されます。通常、自動構成 Bean は @Conditional
Bean です(ほとんどの場合、@ConditionalOnClass
および @ConditionalOnMissingBean
アノテーションを使用します)。
ConditionalOnBean
, ConditionalOnMissingBean
, ConditionalOnClass
, AutoConfigureAfter
, SpringBootApplication
修飾子と型 | フィールドと説明 |
---|---|
static StringSE | ENABLED_OVERRIDE_PROPERTY 自動構成が有効になっている場合にオーバーライドするために使用できる環境プロパティ。 |
修飾子と型 | オプションの要素と説明 |
---|---|
ClassSE<?>[] | exclude 特定の自動構成クラスを除外して、適用されないようにします。 |
StringSE[] | excludeName 適用されないように、特定の自動構成クラス名を除外します。 |
public static final StringSE ENABLED_OVERRIDE_PROPERTY
public abstract ClassSE<?>[] exclude
public abstract StringSE[] excludeName