博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring BeanFactoryPostProcessor
阅读量:6788 次
发布时间:2019-06-26

本文共 894 字,大约阅读时间需要 2 分钟。

Spring提供了一种叫做BeanFactoryPostProcessor的容器扩展机制,该机制允许我们实例化相应对象之前,对注册到容器的BeanDefinition所保存的信息做相应的修改。这就相当于在容器实现的第一阶段最后加入一道工序,让我们对最终的BeanDefinition做一些额外的操作,比如修改其中bean定义的某些属性,为bean定义增加其他信息等。

如果要自定义实现BeanFactoryPostProcessor,通常我们需要实现org.springframework.beans.factory.config.BeanFactoryPostProcessor接口。同时因为一个容器可能拥有多个BeanFactoryPostProcessor,这个时候可能需要实现类同时实现Spring的org.springframework.core.Ordered接口。但是,因为Spring已经提供了几个现成的BeanFactoryPostProcessor实现类。所以,大多时候,我们很少自己去实现某个BeanFactoryPostProcessor。

我们可以通过两种方式来应用BeanFactoryPostProcessor,分别针对基本的IoC容器BeanFactory和较为先进的容器ApplicationContext。

对于BeanFactory来说,我们需要用手动方式应用所有的BeanFactoryPostProcessor。

对于ApplicationContext来说,情况看起来要好得多。因为ApplicationContext会自动识别配置文件中的BeanFactoryPostProcessor并应用它。所以,相对于BeanFactory,在ApplicationContext中加载并应用BeanFactoryPostProcessor,仅需要在XML配置文件中将这些BeanFactoryPostProcessor简单配置一下即可。

转载于:https://www.cnblogs.com/minisculestep/p/5020266.html

你可能感兴趣的文章
从nginx日志中统计nginx缓存命中率
查看>>
CSS系列:CSS选择器
查看>>
Java 集合系列11之 Hashtable详细介绍(源码解析)和使用示例
查看>>
搜索技巧
查看>>
Swaks邮件发件人伪造
查看>>
WebGIS中自定义互联网地图局部注记的一种方案
查看>>
mysql数据一致性
查看>>
GlusterFS发布时间表 (Release Schedule)
查看>>
suse ha命令行搭建
查看>>
SPFILE和CONTROLFILE自动备份
查看>>
王家林每日大数据语录Spark篇0005
查看>>
监控服务脚本
查看>>
Java多线程设计模式(7)线程独有储藏库模式
查看>>
电商一定是一元化结构
查看>>
Android双缓冲技术
查看>>
我的友情链接
查看>>
BZOJ1005:[HNOI2008]明明的烦恼(组合数学,Prufer)
查看>>
AtCoder Regular Contest
查看>>
java 通过httpclient调用https 的webapi
查看>>
以todomvc为例分析knockout、backbone和angularjs
查看>>