SPRing主要提供了兩類擴展點BeanPostProcessor和BeanFactoryPostProcessor。前者是操作bean的實例,后者使對bean的元數據定義進行擴展。
BeanPostProcessor提供對bean實例的操作擴展,在spring容器對bean實例化和設置依賴之后,其回調開始執行。BeanPostProcessor接口定義的兩個方法,分別在bean的初始化方法(InitializingBean接口,或者init-method定義)執行的前后執行:
[java] view plain copy在這里先來示范下實現此接口
import org.springframework.beans.BeansException;import org.springframework.beans.factory.config.BeanPostProcessor;public class MyCustomProxy implements BeanPostProcessor { @Override public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { System.out.println("----------"); System.out.println(beanName+":"+bean); return bean; } @Override public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { System.out.println("++++++++++++++++"); System.out.println(beanName+":"+bean); return bean; }}在springmvc里面增加配置bean
<bean class="com.test.MyCustomPostProcessor"/> 運行就會發現,會打印相關的日志.
新聞熱點
疑難解答