码上敲享录 > java面试题及答案大全 > spring的bean初始化前、中、后想做一些事情,怎么办?

spring的bean初始化前、中、后想做一些事情,怎么办?

上一章章节目录下一章 2019-07-04已有2138人阅读 评论(0)

spring的bean初始化前、中、后想做一些事情,怎么办?


解决方法:

1、bean初始化前、后执行配置,创建MyPostProcessor类,实现BeanPostProcessor接口,实现接口中的postProcessBeforeInitialization(bean初始化前执行的方法),

postProcessAfterInitialization(bean初始化后执行的方法)

public class MyPostProcessor implements BeanPostProcessor {  

   @Override  

   public Object postProcessBeforeInitialization(Object bean, String beanName)

           throws BeansException {  

       System.out.println("对象" + beanName + "开始初始化");  

       return bean;  

   }  

   @Override  

   public Object postProcessAfterInitialization(Object bean, String beanName)  

           throws BeansException {  

       System.out.println("对象" + beanName + "初试化完成");  

       return bean;  

   }  

}  


2.将该MyPostProcessor类要作为bean定义到applicationContext.xml中,所有的bean初始化就都会执行,如下

<bean class="xxx.MyPostProcessor"></bean>


3.bean初始化中执行自己的代码的情况。在applicationContext.xml配置init-method。

例如:<bean id="MyBean" class="xxx.MyBean" init-method="myInit"></bean>

配置了之后,在初始化的时候会执行TestBean中定义的myInit方法。


0

有建议,请留言!

  • *您的姓名:

  • *所在城市:

  • *您的联系电话:

    *您的QQ:

  • 咨询问题:

  • 提 交