Spring之bean后处理器
2024-08-31 23:53:27
Bean后处理器是一种特殊的Bean,容器中所有的Bean在初始化时,均会自动执行该类的两个方法。由于该Bean是由其它Bean自动调用执行,不是程序员手工调用,故此Bean无须id属性。
需要做的是,在Bean后处理器类方法中,只要对Bean类与Bean类中的方法进行判断,就可实现对指定的Bean的指定方法进行功能扩展与增强。方法返回的Bean对象,即是增过的对象。
代码中需要自定义Bean后处理器类。该类就是实现了接口BeanPostProcessor的类。该接口中包含两个方法,分别在目标Bean初始化完毕之前与之后执行。它们的返回值为:功能被扩展或增强后的Bean对象。
Bean初始化完毕有一个标志:一个方法将被执行。即当该方法被执行时,表示该Bean被初始化完毕。所以Bean后处理器中两个方法的执行,是在这个方法之前之后执行。这个方法在后面将会讲到。
public Object postProcessBeforeInitialization(Object bean, String beanId)
throws BeansException
该方法会在目标Bean初始化完毕之前由容器自动调用。
public Object postProcessAfterInitialization(Object bean, String beanId) throws BeansException
该方法会在目标Bean初始化完毕之后由容器自动调用。
它们的参数是:第一个参数是系统即将初始化的Bean实例,第二个参数是该Bean实例的id属性值。若Bean没有id就是name属性值。
最新文章
- Ionic - 先进的 HTML5 移动开发框架和 SDK
- 【Alpha阶段】第一次线上会议
- hdu杭电1671 / poj3630 字典树
- simulate windows touch input
- 纸上谈兵:队列(queue)
- python生成带参数二维码
- MySQL5.6 ALTER TABLE 分析和测试
- Microsoft Visual Studio Ultimate 2012 旗舰版 有效注册密钥
- IOS调用相机相册
- Java 常调用的Webservice接口的方法
- UVA 529 - Addition Chains,迭代加深搜索+剪枝
- PHP简单分页类
- 微信js-sdk接口的使用及ios深坑
- java web 中有效解决中文乱码问题-pageEncoding与charset区别, response和request的setCharacterEncoding 区别
- H.264学习--1
- django CBV基于类视图简单实例
- std::binary_serach, std::upper_bound以及std::lower_bound
- 【转】如何在win10(64位系统)上安装apache服务器
- HDU 4791 Alice's Print Service 思路,dp 难度:2
- ZJOI2018外省选手酱油记Day1