アノテーションインターフェース SpringBootApplication


1 つ以上の @Bean メソッドを宣言し、auto-configuration および component scanning もトリガーする configuration クラスを示します。これは @SpringBootConfiguration@EnableAutoConfiguration@ComponentScan の宣言と同等の便利なアノテーションです。
導入:
1.2.0
作成者:
Phillip Webb, Stephane Nicoll, Andy Wilkinson
  • オプション要素のサマリー

    オプション要素
    修飾子と型
    オプションの要素
    説明
    ClassSE<?>[]
    特定の自動構成クラスを除外して、適用されないようにします。
    適用されないように、特定の自動構成クラス名を除外します。
    Spring コンテナー内で検出されたコンポーネントの命名に使用される BeanNameGenerator クラス。
    boolean
    Bean ライフサイクル動作を実施するために、@Bean メソッドをプロキシするかどうかを指定します。
    ClassSE<?>[]
    アノテーション付きコンポーネントをスキャンするパッケージを指定するための、scanBasePackages() の型安全な代替。
    アノテーション付きコンポーネントをスキャンするベースパッケージ。
  • 要素の詳細

    • exclude

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

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

      アノテーション付きコンポーネントをスキャンするベースパッケージ。文字列ベースのパッケージ名に代わる型安全な代替手段として scanBasePackageClasses() を使用します。

      注意 : この設定は、@ComponentScan のみのエイリアスです。@Entity スキャンまたは Spring Data Repository スキャンには影響しません。それらの場合は、@EntityScan および @Enable...Repositories アノテーションを追加する必要があります。

      戻り値:
      スキャンする基本パッケージ
      導入:
      1.3.0
      デフォルト:
      {}
    • scanBasePackageClasses

      アノテーション付きコンポーネントをスキャンするパッケージを指定するための、scanBasePackages() の型安全な代替。指定された各クラスのパッケージがスキャンされます。

      この属性によって参照される以外の目的を果たさない特別なノーオペレーションマーカークラスまたはインターフェースを各パッケージに作成することを検討してください。

      注意 : この設定は、@ComponentScan のみのエイリアスです。@Entity スキャンまたは Spring Data Repository スキャンには影響しません。それらの場合は、@EntityScan および @Enable...Repositories アノテーションを追加する必要があります。

      戻り値:
      スキャンする基本パッケージ
      導入:
      1.3.0
      デフォルト:
      {}
    • nameGenerator

      Spring コンテナー内で検出されたコンポーネントの命名に使用される BeanNameGenerator クラス。

      BeanNameGenerator インターフェース自体のデフォルト値は、この @SpringBootApplication アノテーションの処理に使用されるスキャナーが、継承された Bean 名前ジェネレーターを使用する必要があることを示します。デフォルトの AnnotationBeanNameGenerator またはブートストラップ時にアプリケーションコンテキストに提供されるカスタムインスタンス。

      戻り値:
      使用する BeanNameGenerator
      導入:
      2.3.0
      関連事項:
      デフォルト:
      org.springframework.beans.factory.support.BeanNameGenerator.class
    • proxyBeanMethods

      Bean ライフサイクル動作を実施するために、@Bean メソッドをプロキシするかどうかを指定します。ユーザーコードで直接 @Bean メソッドを呼び出した場合でも、共有シングルトン Bean インスタンスを返します。この機能には、実行時に生成される CGLIB サブクラスを介して実装されるメソッドのインターセプトが必要です。これには、構成クラスやそのメソッドが final の宣言を許可されないなどの制限があります。

      デフォルトは true で、構成クラス内の「Bean 間の参照」と、この構成の @Bean メソッドへの外部呼び出しを許可します。別の構成クラスから。この特定の構成の @Bean メソッドのそれぞれが自己完結型であり、コンテナー使用のための単純なファクトリメソッドとして設計されているため、これが必要ない場合は、CGLIB サブクラス処理を回避するためにこのフラグを false に切り替えます。

      Bean メソッドのインターセプトをオフにすると、@Configuration 以外のクラスで宣言された場合と同様に、@Bean メソッドが個別に効果的に処理されます(別名: 「@Bean Lite モード」(@Bean's javadoc を参照)。@Configuration ステレオタイプを削除するのと同じ動作になります。

      戻り値:
      @Bean メソッドをプロキシするかどうか
      導入:
      2.2
      デフォルト:
      true