BeanFactoryPostProcessor和BeanPostProcessor的区别
来源:互联网 发布:加权平均图像融合算法 编辑:程序博客网 时间:2024/06/14 18:51
BeanFactoryPostProcessor和BeanPostProcessor都是Spring初始化bean的扩展点。两个接口非常相似。
BeanFactoryPostProcessor可以对bean的定义(配置元数据)进行处理。也就是说,Spring IoC容器允许BeanFactoryPostProcessor在容器实际实例化任何其它的bean之前读取配置元数据,并有可能修改它。如果你愿意,你可以配置多个BeanFactoryPostProcessor。你还能通过设置'order'属性来控制BeanFactoryPostProcessor的执行次序。
注册BeanFactoryPostProcessor的实例,需要重载void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException;
通过beanFactory可以获取bean的示例或定义等。同时可以修改bean的属性,这是和BeanPostProcessor最大的区别。
例如:
BeanDefinition bd = beanFactory.getBeanDefinition("xxBean");
MutablePropertyValues mpv = bd.getPropertyValues();
if(pv.contains("xxName")) {
pv.addPropertyValue("xxName", "icoder");
}
注册BeanPostProcessor的实例,需要重载
Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException;
和
Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException;
还有一点区别就是BeanFactoryPostProcessor的回调比BeanPostProcessor要早。
- BeanFactoryPostProcessor和BeanPostProcessor的区别
- BeanFactoryPostProcessor和BeanPostProcessor的区别
- BeanFactoryPostProcessor和BeanPostProcessor的区别
- BeanFactoryPostProcessor和BeanPostProcessor的区别
- BeanFactoryPostProcessor和BeanPostProcessor的区别
- BeanFactoryPostProcessor和BeanPostProcessor的区别
- BeanFactoryPostProcessor和BeanPostProcessor的使用和区别
- Spring的BeanFactoryPostProcessor和BeanPostProcessor
- Spring的BeanFactoryPostProcessor和BeanPostProcessor
- Spring的BeanFactoryPostProcessor和BeanPostProcessor
- Spring的BeanFactoryPostProcessor和BeanPostProcessor
- Spring的BeanFactoryPostProcessor和BeanPostProcessor
- Spring的BeanFactoryPostProcessor和BeanPostProcessor
- Spring的BeanFactoryPostProcessor和BeanPostProcessor
- Spring的BeanFactoryPostProcessor和BeanPostProcessor
- spring 后置处理器BeanFactoryPostProcessor和BeanPostProcessor的用法和区别
- spring 后置处理器BeanFactoryPostProcessor和BeanPostProcessor的用法和区别
- spring 后置处理器BeanFactoryPostProcessor和BeanPostProcessor的用法和区别
- LeetCode 200. Number of Islands(小岛)
- universal-image-loader加载图片,程序异常崩溃,图片不在加载显示问题
- iframe不能全屏
- LeetCode 201. Bitwise AND of Numbers Range(范围内所有数值的比特与)
- redis笔记总结(一)集群分片
- BeanFactoryPostProcessor和BeanPostProcessor的区别
- Spring的BeanFactoryPostProcessor和BeanPostProcessor
- 线程安全问题
- LeetCode 202. Happy Number(快乐数字)
- Spring中Order接口的作用
- SVM详解(包含它的参数C为什么影响着分类器行为)-scikit-learn拟合线性和非线性的SVM
- LeetCode 286. Walls and Gates
- 基于Spring可扩展Schema提供自定义配置支持
- spring源码分析之——spring 事务管理实现方式 (不太清晰,不明白aop会看不懂)