Java ベースの構成を使用して、Spring アプリケーションのコンテキストを次のように設定しています。
@Configuration
@Lazy
@ComponentScan(basePackageClasses = {MyProject.class, OtherProject.class})
public class MyAppConfig {
...
}
構成で明示的に定義された Bean は、予想どおり遅延ロードされます。ただし、 で注釈@Named
が付けられたスキャンされたクラスは、常に熱心にロードされます。どうすればこれを解決できますか?
どんな助けでも大歓迎です。
パッケージ内のクラスについては、MyProject
注釈を付けることでこれを回避できることに注意してください@Lazy
。しかし、他のプロジェクトはSpringに依存していないので、そのように保ちたいです(したがって@Named
、そうではありません@Component
)。
これは、XML ベースの構成では問題にならないことにも注意してください。そこで、タグの継ぎ目を設定default-lazy-init="true"
して、必要なことを行います(ただし、テストしていません)。<beans>