可以在 Spring 配置文件中使用 default-lazy-init
属性来设置全局的延迟初始化。例如:
<beans default-lazy-init="true">
<!-- 其他 bean 定义 -->
</beans>
这将会导致所有的 bean 都采用延迟初始化的方式,除非在单独的 bean 定义中显式地设置 lazy-init
属性为 false
。
另外,也可以通过在类路径中添加 META-INF/spring.factories
文件,并在该文件中添加如下内容来设置全局的延迟初始化:
org.springframework.context.annotation.ConfigurationClassPostProcessor.registerLazyInitialization=true
最后,还可以使用 Spring 的 AbstractApplicationContext
类的 setDefaultLazyInitialization
方法来设置全局的延迟初始化,例如:
AnnotationConfigApplicationContextcontext = new AnnotationConfigApplicationContext();
context.setDefaultLazyInitialization(true);
context.register(AppConfig.class);
context.refresh();