Springの以下のアノテーションの使い方がわからなかったので調べた
@Configuration(proxyBeanMethods = false)
これはBean Lite Mode
と呼ばれるものらしく、CGLIB proxy を明示的に利用せずBean登録する設定らしい
CGLIBとは、プログラムのコンパイル後にクラスを動的に生成することができるJavaのライブラリで、Springで利用されている
そして、下のissueを読むとSpringでは@Configuration
のみの場合は、CGLIB proxyを作成することを意味するが、これは潜在的に非常にコストのかかる操作で、ほとんどの場合不要とのこと
なのでパフォーマンスの観点で、CGLIB proxyをあえて使うことがなければ、@Configuration(proxyBeanMethods = false)
にしておくのが良いみたい
ただ、あえて使うべき場面がわかってないから、それは後日調べる
参考
Configuration annotationのproxyBeanMethodsとBean Lite Modeについての備忘録 - すきま風