`
yznxing
  • 浏览: 367126 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

spring的BeanPostProcessor学习

    博客分类:
  • java
阅读更多

在spring中可以通过BeanPostProcessor接口来实现,properties注入的时候动态控制bean行为的功能。

接着上面一篇文章中的例子。使用A,B的类,

然后新建一个实现BeanPostProcessor的类。

public class BeanPost implements BeanPostProcessor {

 public Object postProcessAfterInitialization(Object bean, String beanName)
   throws BeansException {

  //其实在这里可以改变返回的properties的内容。
  System.out.println("postProcessAfterInitialization");
  return bean;
 }

 public Object postProcessBeforeInitialization(Object bean, String beanName)
   throws BeansException {

    //其实在这里可以改变返回的properties的内容。
  System.out.println("postProcessBeforeInitialization");
  return bean;
 }

}

 

然后在spring的配置文件里加上该bean的声明,那么在容易中的所有bean在进行实例化的过程中都会受到该BeanPostProcessor的影响。

方法的主要作用就是可以改变设置的bean的内容。

其中postProcessBeforeInitialization 发生在

setProperties方法之后,也就是A的setB方法之后,

InitializingBean的afterPropertiesSet之前,

更在init-method之前。

postProcessAfterInitialization

发生在ini-methodt方法之后,紧跟着。

 

 

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics