rol*_*lve 15 java spring dependency-injection
我正在使用基于Java的配置来设置我的Spring应用程序上下文,如下所示:
@Configuration
@Lazy
@ComponentScan(basePackageClasses = {MyProject.class, OtherProject.class})
public class MyAppConfig {
...
}
Run Code Online (Sandbox Code Playgroud)
在配置中明确定义的Bean会像您期望的那样懒惰地加载.但是,注释的扫描类@Named总是急切地加载.我怎么解决这个问题?
任何帮助表示赞赏.
请注意,对于MyProject包中的类,我也可以通过注释它来解决这个问题@Lazy.但是另一个项目没有依赖Spring,我想保持它(因此@Named而不是@Component).
另请注意,这不会成为基于XML的配置中的问题.目前,设置default-lazy-init="true"在<beans>标签接缝处做我想做的(虽然我没有测试过).
Eri*_* S. 18
从版本4.1 RC2开始,此错误已得到修复,您可以使用以下命令完成组件扫描的延迟加载:
@ComponentScan(basePackages = ["..."], lazyInit = true)
Run Code Online (Sandbox Code Playgroud)
https://jira.spring.io/browse/SPR-10459
| 归档时间: |
|
| 查看次数: |
15194 次 |
| 最近记录: |