![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
死磕Spring
沁海棠
1169280791@qq.com
展开
-
Spring容器创建流程——总结
spring容器创建的主要流程在他的refresh()方法中,接下来就开始总结一个下他的refresh()方法中的每个步骤大概都做了那些事情。refresh() 可在AbstractApplicationContext中找到。prepareRefresh标识容器状为active运行环境(包装为一个Environment类)的设置与验证。obtainFreshBeanFactory创...原创 2019-12-09 09:27:52 · 453 阅读 · 0 评论 -
Spring容器创建流程(9)完成创建
Spring创建refresh中finishRefresh()方法完成之后也就代表着,Spring容器真正的创建完成了。下面看下源码 protected void finishRefresh() { // 清除加载Recource缓存,(resource在加载beanDefinition的时候说过) clearResourceCaches(); // 初始化生命周期处理器 in...原创 2019-12-05 17:42:50 · 307 阅读 · 0 评论 -
Spring容器创建流程(8)初始化bean
finishBeanFactoryInitialization(beanFactory); 很重要的一步,初始化剩余未初始化的bean(还没有创建实例放到容器中的)。finishBeanFactoryInitialization protected void finishBeanFactoryInitialization(ConfigurableListableBeanFactory bean...原创 2019-12-03 16:07:00 · 207 阅读 · 1 评论 -
Spring容器创建流程(7)事件派发机制
Spring事件驱动,监听机制。由三步分组成,事件,派发器,监听器。事件:spring事件的顶级父类是EventObject,通常情况下继承ApplicationEvent 自定义自己的事件。事件派发器:事件派发器,负责事件的派发,顶级父类为ApplicationEventPublisher,真正的事件派发机制在子类AbstractApplicationContext中实现,事件派发交由...原创 2019-10-17 15:43:00 · 217 阅读 · 0 评论 -
Spring容器创建流程(6)国际化支持
initMessageSource 初始化MessageSource,Spring国际化支持(之前的执行步骤可在系列文章中找到) protected void initMessageSource() { ConfigurableListableBeanFactory beanFactory = getBeanFactory(); // 如果自己配置了一个名为 messageSource的...原创 2019-10-16 17:24:53 · 225 阅读 · 0 评论 -
Spring容器创建流程(5)bean后置处理之注册
registerBeanPostProcessors 注册bean的后置处理器(以前的执行流程可在系列文章中查看),注意 beanFactoryPostProcessor 是 bean工厂的后置处理器,在工厂初始化后进行调用,beanPostProcessor是bean的后置处理器,在bean初始化前后进行调用(bean后置处理器在之后会讲到)。容器refresh总览: synchroniz...原创 2019-10-16 15:28:11 · 358 阅读 · 0 评论 -
Spring容器创建流程(4)调用beanFactory后置处理器
postProcessBeanFactory留给子类去实现。invokeBeanFactoryPostProcessor 调用bean的后置处理器,容器refresh总览: synchronized (this.startupShutdownMonitor) { // 设置环境,校验参数。 prepareRefresh(); // 创建BeanFactory(Def...原创 2019-10-15 13:54:34 · 241 阅读 · 0 评论 -
Spring容器创建流程(3)对beanFactory设置
容器已经创建完成,接下来 prepareBeanFactory,对BeanFactory做一些设置与准备工作。(之前的执行流程可在本系列博客中看到)容器refresh 总览: synchronized (this.startupShutdownMonitor) { // 设置环境,校验参数。 prepareRefresh(); // 创建BeanFactory(De...原创 2019-10-13 13:29:40 · 205 阅读 · 0 评论 -
Spring容器创建流程(2)创建beanFactory,加载BeanDefinition
Spring 容器的创建。obtainFreshBeanFactorr()中完成容器的创建。(BeanFactory关系类图,之前的执行流程可在1中看到)。 synchronized (this.startupShutdownMonitor) { // Prepare this context for refreshing. prepareRefresh(); // ...原创 2019-10-09 14:06:19 · 405 阅读 · 0 评论 -
Spring容器创建流程(1)容器创建准备
本系列文章将逐一介绍,Spring容器创建到容器刷新完成每个过程。Spring容器继承结构图第一步,new容器实例ApplicationContext factory = new ClassPathXmlApplicationContext("classpath:application.xml");容器构造器 public ClassPathXmlApplicationContext...原创 2019-09-29 09:28:13 · 318 阅读 · 0 评论 -
Spring bean生命周期概览
springBean的生命周期描述了交由spring管理的bean从创建,属性赋值,代理扩展,销毁的过程。在不同的阶段spring都提供了相应的接口提供扩展。Spring生命周期各个接口与方法调用时机先声明一下,问中讲到实例化代表着调用类的构造方法,讲到初始化代表着bean指定的init-method。...原创 2019-09-19 10:02:31 · 391 阅读 · 0 评论