下面这个例子,是使用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.youkuaiyun.com/elim168/article/details/76146351
本文介绍了如何使用Spring框架中的BeanPostProcessor接口来修改bean对象。BeanPostProcessor可以在bean初始化前后进行回调,允许开发者修改bean的状态。这对于实现特定的初始化逻辑非常有用。
1622

被折叠的 条评论
为什么被折叠?



