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實例創建代理