最近做项目时需要在项目初始化的时候缓存数据,经历了一些采坑,做一些必要的笔记,一来是对自己学习的知识的巩固,二来对有同样问题的人有参考作用
一 产生原因
首先,ServletContextListener监听的是项目的启动或停止,这个时候Spring的Bean还没来得及注入,所以通过@Autowired
或者@Resource
是取不到值的。
那么我们肯定会想到通过实现ApplicationContextAware
接口的方式来手动地实例化Bean,如下所示:
@Component("initComponent")
public class InitComponent implements ServletContextListener, ApplicationContextAwa