重点:
1.了解prepareRefresh()方法的作用:就是为容器刷新做了准备工作
2.整体了解refresh()方法
synchronized加锁的原因:刷新和销毁( "refresh" and "destroy" 都是一个完整的过程,需要加锁
改方法进入可以看到是空的,是为了扩展用的
该方法我们可以自己重写,用来修改一些初始化的属性资源
Store pre-refresh ApplicationListeners...翻译: 储存预刷新的应用程序监听
也就是,一些监听器,spring里面是空的,但是等到springboot的时候,启动的时候
applicationListeners应用程序监听 里面会内置很多监听器
applicationListeners是空的,没有任何监听器
总结:
prepareRefresh()方法作用?
1.主要目的,是为了容器刷新前,做一些准备工作,具体准备工作如下.2.设置容器启动时间(每次项目启动成功后,日志会打印启动时间,就是这里开始计时的)
3.设置活跃状态true(表示容器正在工作,是活跃状态)
4.设置关闭状态为false
5.获取Environment对象,并加载当前系统的属性值到Environment对象中
6.准备监听器和事件的集合对象,默认是空的