アノテーションインターフェース 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
関連事項:
  • オプション要素のサマリー

    オプション要素
    修飾子と型
    オプションの要素
    説明
    ClassSE<?>[]
    特定の自動構成クラスを除外して、適用されないようにします。
    適用されないように、特定の自動構成クラス名を除外します。
  • フィールドサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    static final StringSE
    自動構成が有効になっている場合にオーバーライドするために使用できる環境プロパティ。
  • フィールドの詳細

    • ENABLED_OVERRIDE_PROPERTY

      static final StringSE ENABLED_OVERRIDE_PROPERTY
      自動構成が有効になっている場合にオーバーライドするために使用できる環境プロパティ。
      関連事項:
  • 要素の詳細

    • exclude

      ClassSE<?>[] exclude
      特定の自動構成クラスを除外して、適用されないようにします。
      戻り値:
      除外するクラス
      デフォルト:
      {}
    • excludeName

      StringSE[] excludeName
      適用されないように、特定の自動構成クラス名を除外します。
      戻り値:
      除外するクラス名
      導入:
      1.3.0
      デフォルト:
      {}