@TargetSE(valueSE=TYPESE) @RetentionSE(valueSE=RUNTIMESE) @DocumentedSE @Configuration public @interface SpringBootConfiguration
@Configuration を提供することを示します。Spring の標準 @Configuration アノテーションの代替として使用できるため、構成を自動的に見つけることができます(たとえば、テストで)。 アプリケーションには @SpringBootConfiguration を 1 つだけ含める必要があり、ほとんどの慣用的な Spring Boot アプリケーションは @SpringBootApplication から継承します。
| 修飾子と型 | オプションの要素と説明 |
|---|---|
boolean | proxyBeanMethodsBean ライフサイクルの動作を実施するために、 @Bean メソッドをプロキシするかどうかを指定します。 |
@AliasFor(annotation=org.springframework.context.annotation.Configuration.class) public abstract boolean proxyBeanMethods
@Bean メソッドをプロキシするかどうかを指定します。ユーザーコードで @Bean メソッドを直接呼び出した場合でも、共有シングルトン Bean インスタンスを返す。この機能には、ランタイム生成された CGLIB サブクラスを介して実装されるメソッドインターセプトが必要です。これには、構成クラスやそのメソッドが final の宣言を許可されていないなどの制限があります。 デフォルトは true で、構成クラス内の「Bean 間の参照」と、この構成の @Bean メソッドへの外部呼び出しを許可します。別の構成クラスから。この特定の構成の @Bean メソッドのそれぞれが自己完結型であり、コンテナー使用のための単純なファクトリメソッドとして設計されているため、これが必要ない場合は、CGLIB サブクラス処理を回避するためにこのフラグを false に切り替えます。
Bean メソッドのインターセプトをオフにすると、非 @Configuration クラス、別名「@Bean Lite モード」で宣言された場合と同様に、@Bean メソッドが個別に効果的に処理されます(@Bean's javadoc を参照)。したがって、これは @Configuration ステレオタイプを削除することと動作的に同等です。
@Bean メソッドをプロキシするかどうか Copyright © 2019 Pivotal Software, Inc.. All rights reserved.