上偏文章介绍了,registerBeanPostProcessor:
分别按优先级顺序先注册PriorityOrdered和Ordered接口,第三部注册没有实现接口的beanPostProcessor,最后注册mergedBeanDefinitionPostProcessor。
Ioc容器refresh总结(3)--- Spring源码从入门到精通(三十三)
七、initMessageSource
1、获取beanFactory。
2、看容器中是否存在id为messageSource,有的话就按类型取出messageSource赋值给全局的messageSource,如果没有则创建对象DelegatingMessageSouce。
MessageSource,取出国际化配置文件中的某个key值,并能能按照区域信息获取。
3、吧创建好的MessageSource注册在容器中,以后获取国际化配置文件的时候,直接注入messageSource获取。
八、initApplicationEventMulticaster
1、获取beanFactory。
2、 从容器中获取id为applicationEventMulticaster,若没有,则创建一个SimpleApplicationEventMulticaster。
3、将创建好的组件注入beanFactory中。
九、onRefresh(留给子类重写)
1、子类重写这个方法,在容器刷新的时候,可以自定义逻辑。(比如 给容器中多注册一些组件)
十、registerListener
1、拿到容器中的的applicationListener。
2、将每个监听器添加到时间派发器中。getApplicationEventMulticaster
3、如果有早期一些事件,则多播(派发)出去。(派发出去就会调用onApplicationEvent接收到派发的事件)