spring源码里BeanPostProcessor出现很多次,spring中包含一个BeanPostProcessor的接口,可以在bean的初始化方法的前后调用该方法,如果配置了初始化方法的前置和后置处理器,无论是否包含初始化方法,都会进行调用。
然后在xml把这个类配置一下
<bean id="myBeanPostProcessor" class="com.study.bean.MyBeanPostProcessor"></bean>
测试:注意这里是getBean的是person
配置了<bean id="myBeanPostProcessor" class="com.study.bean.MyBeanPostProcessor"></bean> 这个仅仅是配置了就可以了
当getBean person的时候,person的init方法的前后会打印
System.out.println("postProcessBeforeInitialization:"+beanName+"调用初始化前置方法");
System.out.println("postProcessBeforeInitialization:"+beanName+"调用初始化后置方法");
甚至 有一个dog类,也会自动的打印上述语句。虽然dog类并没有手动的getBean("dog",Dog.class)。
只要随便getbean其中一个类,那么所有类都会打印前置后置。
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
添加我为好友,拉您入交流群!
请使用微信扫一扫!