BeanPostProcessor示例和理解

下面这个例子,是使用beanPostProcessor对不同值调用相同接口但不同实现的类

Spring探秘|妙用BeanPostProcessor:

https://www.jianshu.com/p/1417eefd2ab1

eanPostProcessor接口中定义了两个方法,

其中方法postProcessBeforeInitialization()将在一个bean被完全初始化前进行回调,此时对应的bean已经实例化了,但是对应的属性注入等还没有进行,即在调用InitializingBean的afterPropertiesSet()方法或bean对应的init-method之前;

而方法postProcessAfterInitialization()将在bean被完全初始化后进行回调,此时对应的依赖注入已经完成,即在调用InitializingBean的afterPropertiesSet()方法或对应init-method方法之后。

两个方法的参数以及返回值对应的意义都是一样的,其中参数bean表示当前状态的bean,参数beanName表示当前bean的名称,而方法对应的返回值即表示需要放入到bean容器中的bean,所以用户如果有需要完全可以在这两个方法中对bean进行修改,即封装自己的bean进行返回。

可用来修改bean对象的BeanPostProcessor:

https://blog.csdn.net/elim168/article/details/76146351

你可能感兴趣的:(需要学习)