import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.beans.factory.support.GenericBeanDefinition;
import org.springframework.stereotype.Component;
/**
* bean工厂的bean属性处理容器,说通俗一些就是可以管理我们的bean工厂内所有的beandefinition(未实例化)数据,可以随心所欲的修改属性。
*/
@Component
public class MyBeanFactoryPostProcessor implements BeanFactoryPostProcessor {
/**
* 主要是用来自定义修改持有的bean
* ConfigurableListableBeanFactory 其实就是DefaultListableBeanDefinition对象
* @param beanFactory
*/
@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
System.err.println(" BeanFactoryPostProcessor.postProcessBeanFactory ");
GenericBeanDefinition userService = (GenericBeanDefinition) beanFactory.getBeanDefinition("userService");
/**
* 可以在此修改beandefinition的属性
*/
userService.setPrimary(true);
// userService.setBeanClass();
}
}
spring[3]-BeanFactoryPostProcessor
最新推荐文章于 2022-11-27 17:02:36 发布