我有一个具有许多依赖的jar文件的应用程序。每个都有一个spring.xml。如何为这些jar文件中定义的bean设置lazy init = true?
从属jar文件中的一些spring.xml文件已显式设置了惰性init = false。
最佳答案
您可以这样添加自定义 BeanFactoryPostProcessor
:
@Configuration
class BeanLifecycleConfiguration {
@Bean
public static BeanFactoryPostProcessor changeCustomComponentsToLazyInit() {
return new BeanFactoryPostProcessor() {
@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
for (String name : beanFactory.getBeanDefinitionNames()) {
BeanDefinition beanDefinition = beanFactory.getBeanDefinition(name);
if (beanDefinition.getBeanClassName().startsWith("your.package.name")) {
beanDefinition.setLazyInit(true);
}
}
}
};
}
}
关于java - Spring Lazy Init =依赖 jar 中为true,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37263860/