1.两种后处理器
- Bean后处理器:对容器中的Bean进行后处理,对Bean进行额外加强。
- 容器后处理器:对IoC容器进行后处理,增强容器。
1.1 Bean后处理器
需要实现BeanPostProcessor接口,两个方法,分别在Bean初始化之前、后调用
- Object postProcessBeforeInitialization(Object bean,String name)throws BeanException
第一个参数是即将进行后处理的Bean实例,第二个参数该Bean的id - Object postProcessAfterInitialization(Object bean,String name)throws BeanException
第一个参数是即将进行后处理的Bean实例,第二个参数该Bean的id
1.2 Spring提供的两个常用的后处理器
BeanNameAutoProxyCreator:根据Bean实例的name属性,创建Bean实例的代理
DefaultAdvisorAutoProxyCreator:根据提供的advisor,对容器中所有的bean实例创建代理