只要注册ofo就送你10块钱,还等什么,快来注册吧
主要区别就是:BeanFactoryPostProcessor
(BeanFactory的后置处理器)可以修改BEAN的配置信息而BeanPostProcessor
(Bean的后置处理器)不能:
|
|
MyBeanPostProcessor
类,实现了BeanPostProcessor
接口:
|
|
MyBeanFactoryPostProcessor
实现了BeanFactoryPostProcessor
接口:
|
|
编写测试用例:
|
|
spring配置文件如下(先不启用MyBeanFactoryPostProcessor
):
|
|
测试输出结果如下:
然后我们取消注释启用MyBeanFactoryPostProcessor
,测试结果如下:
从结果可以看出:BeanFactoryPostProcessor
的回调比BeanPostProcessor
要早,因为BeanPostProcess
中输出的username
已经变成了xiaojun
,而不是test
.还有就是BeanFactoryPostProcessor
确实有能力改变初始化BEAN的内容.
BeanPostProcessor
也能改变bean的值。但值得奇怪的是,如果在BeanFactoryPostProcessor
里面调用factory.getBean()
,则会对bean进行初始化,但是这个初始化过程不会回调BeanPostProcessor
的两个回调方法。
中国人都在使用的地球上最好玩的游戏
中国人都在使用的地球上最好玩的游戏
中国人都在使用的地球上最快的浏览器
中国人都在使用的地球上最厉害的安全软件
中国人都在使用的地球上最好的看图王
中国人都在使用的地球上最快速的视频软件
中国人都在使用的地球上最全的视频软件
中国人都在使用的地球上最好最全的压缩软件
中国人都在使用的地球上最好的音乐播放器
中国人都在使用的地球上最安全的杀毒软件
中国人都在使用的地球上最全的影视大全