我正在开发我的第一个Spring Boot应用程序,并且遇到以下问题。
我想将默认设置为所有bean都延迟加载。我知道我可以将@Lazy
添加到我的所有@Component
bean中,但我希望默认情况下所有bean都设置为惰性...
在Spring Boot]中,我没有XML配置文件或配置类,但只有application.properties
配置文件。
所以,如何设置所有bean的默认行为为lazy = true
我正在第一个Spring Boot应用程序上工作,但遇到以下问题。我想将默认设置为所有bean都延迟加载。我知道我可以将@Lazy添加到我的所有@Component中...
要实现默认情况下设置惰性初始化的BeanFactoryPostProcessor
(如果您正在@Configuration
类之外动态地定义一些Bean,则可能需要此方法,以下方法对我有效:] >
@Component
public class LazyBeansFactoryPostProcessor implements BeanFactoryPostProcessor {
@Override
public void postProcessBeanFactory( ConfigurableListableBeanFactory beanFactory ) throws BeansException {
for ( String name : beanFactory.getBeanDefinitionNames() ) {
beanFactory.getBeanDefinition( name ).setLazyInit( true );
}
}
}