BeanPostProcessor接口定义回调方法,可以实现该方法来提供自己的实例化逻辑,依赖解析逻辑等。
也可以在Spring容器通过插入一个或多个BeanPostProcessor的实现来完成实例化,配置和初始化一个bean之后实现一些自定义逻辑回调方法。
可以配置多个BeanPostProcessor接口,通过设置BeanPostProcessor实现的Ordered接口提供的order属性来控制这些BeanPostProcessor接口的执行顺序。
ApplicationContext会自动检测由BeanPostProcessor接口的实现定义的bean,注册这些bean为后置处理器,然后通过在容器中创建bean,在适当的时候调用它。
示例:
public class HelloWorld { private String message; public void getMessage() { System.out.println("Your Message : " + message); } public void setMessage(String message) { this.message = message; } public void init() { System.out.println("Bean is going through init."); } public void destroy() { System.out.println("Bean will destroy now."); } }