java之依赖 jar 中的 Spring Lazy Init = true

exmyth 阅读:225 2025-06-02 22:19:02 评论:0

我有一个应用程序,它有许多依赖的 jar 文件。其中每一个都有一个 spring.xml。如何为这些 jar 文件中定义的 bean 设置 lazy init = true?

依赖jar文件中的一些spring.xml文件明确设置了lazy 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
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号