我正在使用基于 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>标签接缝做我想做的事(虽然我还没有测试过)。