文档章节

Spring IoC 容器

就怕程序耍流氓
 就怕程序耍流氓
发布于 2017/02/14 17:03
字数 242
阅读 5
收藏 0

码上生花,ECharts 作品展示赛正式启动!>>>

##简介

使用开发工具进行 debug 分析一个 ApplicationContext 初始化过程

###开发条件

组件 版本
JDK 1.8.0_91
Spring 4.3.3
IDE STS 3.7.3

##容器初始化分析

###执行 AbstractApplicationContext 的 static 块

###执行 ClassPathXmlApplicationContext 的构造方法

1.初始化 AbstractXmlApplicationContext

2.初始化 AbstractRefreshableConfigApplicationContext

3.初始化 AbstractRefreshableApplicationContext

4.初始化 AbstractApplicationContext

5.初始化 DefaultResourceLoader

6.执行 ClassUtils 的 getDefaultClassLoader 返回结果为 sun.misc.Launcher$AppClassLoader

7.初始化 AbstractApplicationContext 的成员属性

8.执行 AbstractRefreshableApplicationContext 的 getResourcePatternResolver

9.初始化 PathMatchingResourcePatternResolver

10.初始化 AntPathMatcher

11.执行 AbstractRefreshableConfigApplicationContext 的 setConfigLocations

12.执行 AbstractRefreshableConfigApplicationContext 的 resolvePath

13.执行 AbstractApplicationContext 的 createEnvironment 返回一个新的 StandardEnvironment

14.执行 AbstractApplicationContext 的 refresh

15.执行 AbstractPropertyResolver 的 validateRequiredProperties

16.执行 AbstractApplicationContext 的 obtainFreshBeanFactory

17.执行 AbstractRefreshableApplicationContext 的 refreshBeanFactory

18.执行 AbstractRefreshableApplicationContext 的 createBeanFactory

19.初始化 DefaultListableBeanFactory

20.加载 javax.inject.Provider

21.执行 AbstractXmlApplicationContext 的 loadBeanDefinitions

22.初始化 XmlBeanDefinitionReader

23.执行 AbstractApplicationContext 的 prepareBeanFactory

24.执行 AbstractApplicationContext 的 initLifecycleProcessor

25.发出 ContextRefreshedEvent 事件

##工厂创建Bean分析

1.清除 Bean Name 中的 FACTORY_BEAN_PREFIX ( '&' ) 标记

2.执行 DefaultSingletonBeanRegistry 的 getSingleton

....

© 著作权归作者所有

上一篇: Spring Bean 范围
下一篇: Spring 消息组件
就怕程序耍流氓

就怕程序耍流氓

粉丝 3
博文 18
码字总数 7859
作品 0
上海
后端工程师
私信 提问
加载中
请先登录后再评论。
Spring 中 IoC 容器简介

IoC 是一种通过描述来生成或者获取对象的技术,可以说 Spring 是一种基于 IoC 容器编程的框架 在一个系统中可以生成各种对象,并且这些对象都需要进行管理。为了描述这些对象关系,我们需要一...

osc_uc866nar
2019/02/02
5
0
Spring IOC容器和Spring MVC IOC容器的区别

web.xml <context-param>    <!-- 指定加载application配置文件 --> </context-param> <listener> </listener> <!-- 配置SpringMVC --><servlet>  <servlet-name>usermanage</servlet-n......

osc_hiqsid7r
2019/11/04
5
0
SPRING技术内幕:深入解析SPRING架构与设计原理(附赠电子书)

前言: 今天给大家分享的是一本关于spring的电子书,由于篇幅限制本文给大家大致的介绍一下这本书,如若需要电子书关注我的供种浩 Java周某人。 本书主要内容分为三个部分,分别阐述了Spring的...

java周某人
04/12
0
0
【死磕 Spring】—– IOC 之 IOC 初始化总结

原文出自:http://cmsblogs.com 前面 13 篇博文从源码层次分析了 IOC 整个初始化过程,这篇就这些内容做一个总结将其连贯起来。 在前文提过,IOC 容器的初始化过程分为三步骤:Resource 定位...

chenssy
2018/10/09
0
0
JavaEE互联网轻量级框架整合开发(书籍)阅读笔记(6):Spring IOC容器学习(概念、作用、Bean生命周期)

一、IOC控制反转概念 控制反转(IOC)是一种通过描述(在Java中可以是XML或者是注解)并通过第三方去生产或获取特定对象的方式。 主动创建模式,责任在于开发者,而在被动模式下,责任归于Ioc...

osc_d9817zy2
2018/07/10
5
0

没有更多内容

加载失败,请刷新页面

加载更多

(转)Linux系统:centos7下搭建Rocketmq4.3中间件,配置监控台

原文:https://www.bbsmax.com/A/Ae5RRKe35Q/ 一、环境搭建 环境版本 centos7 jdk1.8 已搭建好 rocketmq4.3 1、下载安装包 网址 https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.3.......

osc_3iv3c4fo
9分钟前
6
0
rocketmq 发送时异常:system busy 和 broker busy 解决方案(2019-06更新)

rocketmq 发送时异常:system busy 和 broker busy 解决方案(2019-06更新) 参考文章: (1)rocketmq 发送时异常:system busy 和 broker busy 解决方案(2019-06更新) (2)https://www.cnb...

osc_e7yhr5of
11分钟前
11
0
Redis雪崩效应以及解决方案

Redis雪崩效应以及解决方案 参考文章: (1)Redis雪崩效应以及解决方案 (2)https://www.cnblogs.com/toov5/p/9895929.html 备忘一下。...

osc_6k3dbwo9
11分钟前
9
0
学习rabbitmq (二) 使用rabbitmq

以为rabbitmq会折腾很久,但没有想到就这么多点内容,主要是服务端的懒得去折腾,比如docker的转移啊,发布啊,部署啥的 今天写了一些代码,用的c#弄的,新建两个项目,一个sender,一个rec...

osc_8hhlaimy
13分钟前
11
0
指定版本拉取

https://blog.csdn.net/csdn_idiot/article/details/106188831 https://blog.csdn.net/bjrxyz/article/details/90347292 chromium(linux环境)指定版本下载和编译教程 csdn_idiot 2020-05-2......

osc_hinb5m98
14分钟前
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部