一、ApplicationContextAware接口只有一个方法
![](https://img.haomeiwen.com/i13444692/ec8cfc80b36bd677.png)
通过它Spring容器会自动把上下文环境对象调用ApplicationContextAware接口中的setApplicationContext方法。把容器对象传给方法调用,方法里你可以通过容器获取一些bean(getBean方法)
应用场景需要视情况而定,我是在一个拦截器实例化后要做一些事情,贴出部分代码,有兴趣的可以试试
![](https://img.haomeiwen.com/i13444692/10d1f729e103990e.png)
二、InitializingBean,如下方示例代码,实例化XXX的时候后
public class XXX implements InitializingBean{
@Override
public void afterPropertiesSet() throws Exception {
.........//项目启动时要做的事
}
}
这里可以做一些事情,比如启动一个内嵌的server,或者做一些其它事情,有兴趣的同学可以自己思考一下,对着自己的项目
![](https://img.haomeiwen.com/i13444692/0776f3feaa8d676c.png)
三、DisposableBean,提供一个destroy方法,在对象销毁后执行,生命周期是是destroy----bean销毁---自定义的destroy方法(比如注解的destroy-method)
![](https://img.haomeiwen.com/i13444692/ba068e38d34397bc.png)
![](https://img.haomeiwen.com/i13444692/12e5aeb0e9e47f3e.png)
最后引申一下,看截图,你就知道我要说什么了吧
![](https://img.haomeiwen.com/i13444692/f1f611c03aa0f110.png)
网友评论