本文主要是介绍Spring BeanFactoryPostProcessor接口详细使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
BeanFactoryPostProcessor接口简介
Spring容器在初始化之前,允许我们自定义扩展改变bean的定义,BeanFactoryPostProcessor正好可以满足我们的要求,BeanFactoryPostProcessor接口的postProcessBeanFactory方法中,我们可以修改bean的定义信息,例如修改属性的值,修改bean的scope为单例或者多例。
BeanFactoryPostProcessor
bean工厂的bean属性处理容器,说通俗一些就是可以管理我们的bean工厂内所有的beandefinition(未实例化)数据,可以随心所欲的修改属性。
使用方法:
@Component
public class MyBeanFactoryPostProcessor implements BeanFactoryPostProcessor {@Overridepublic void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {AbstractBeanDefinition abstractBeanDefinition = (AbstractBeanDefinition) beanFactory.getBeanDefinition("userService");MutablePropertyValues pv = abstractBeanDefinition.getPropertyValues();pv.addPropertyValue("desc", "Desc is changed from bean factory post processor");abstractBeanDefinition.setScope(BeanDefinition.SCOPE_SINGLETON);}
}
详细BeanFactoryPostProcessor可参考spring4.1.8扩展实战之五:改变bean的定义(BeanFactoryPostProcessor接口)
这篇关于Spring BeanFactoryPostProcessor接口详细使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!