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