@TargetSE(valueSE=TYPESE) @RetentionSE(valueSE=RUNTIMESE) @DocumentedSE @Configuration public @interface SpringBootConfiguration
@Configuration
を提供することを示します。Spring の標準 @Configuration
アノテーションの代替として使用できるため、構成を自動的に見つけることができます(たとえば、テストで)。 アプリケーションには @SpringBootConfiguration
を 1 つだけ含める必要があり、ほとんどの慣用的な Spring Boot アプリケーションは @SpringBootApplication
から継承します。
修飾子と型 | オプションの要素と説明 |
---|---|
boolean | proxyBeanMethods Bean ライフサイクル動作を実施するために、 @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
メソッドが個別に効果的に処理されます(別名: 「@Bean Lite モード」( @Bean's javadoc
を参照)。@Configuration
ステレオ型を削除するのと同じ動作になります。
@Bean
メソッドをプロキシするかどうか