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"/>运行就会发现,会打印相关的日志.
新闻热点
疑难解答