首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

小弟我的spring学习笔记16-容器扩展点之BeanFactoryPostProcessor

2012-09-09 
我的spring学习笔记16-容器扩展点之BeanFactoryPostProcessor前面分别对PropertyPlaceholderConfigurer和P

我的spring学习笔记16-容器扩展点之BeanFactoryPostProcessor
前面分别对PropertyPlaceholderConfigurer和PropertyOverrideConfigurer的使用方法进行了介绍。但是有个问题,不知道大家看到没有?我们在配置文件中只是定义了一个bean,


连id都没有给出。而且这个bean并没有被别的bean所引用。那么,Spring的bean factory是怎么知道要从这个bean中获取信息的呢?
解开源码发现,上面说的两个类,它们都间接的实现了BeanFactoryPostProcessor接口,这个接口很特别,
当 Spring加载任何实现了这个接口的bean的配置时,都会在bean factory载入所有的bean的配置之后,执行 postProcessBeanFactory方法。在PropertyResourceConfigurer类中实现了postProcessBeanFactory方法,在方法中先后调用了 mergeProperties,convertProperties,processProperties这三个方法,分别得到配置,将得到的配置转换为合适的类型,最后将配置内容告知BeanFactory。
正是通过实现BeanFactoryPostProcessor接口,BeanFactory会在实例化任何bean之前获得配置信息,从而能够正确解析bean描述文件中的变量引用。 1 楼 研磨struts2 2012-04-21   你可以参考一下两篇帖子,jinnianshilongnian的,也很不错
讲BeanPostProcessor的
http://www.iteye.com/topic/1122859
http://www.iteye.com/topic/1122937

热点排行