文档章节

Spring IoC 容器

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

##简介

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

###开发条件

组件版本
JDK1.8.0_91
Spring4.3.3
IDESTS 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

....

© 著作权归作者所有

共有 人打赏支持
就怕程序耍流氓

就怕程序耍流氓

粉丝 3
博文 18
码字总数 7859
作品 0
上海
后端工程师
深入理解Spring源码(一)-IOC容器的定位,载入,注册

前言:Spring源码继承,嵌套层次非常多,读起来非常容易晕,小伙伴们在看文章的时候一定要跟着文章的思路自己去源码里点一点,看一看,并且多看几次。就会越来越清晰。下面开始正题 1.Spring...

Meet相识_bfa5
05/01
0
0
在spring中如何配置和使用一个Bean

在Spring中,那些组成你应用程序的主体(backbone)及由Spring IoC容器所管理的对象,被称之为bean。 简单地讲,bean就是由Spring容器初始化、装配及管理的对象,除此之外,bean就与应用程序中...

冰雷卡尔
2012/07/24
0
0
1 Spring核心:IoC容器的实现

依赖控制反转的实现有很多种方式。在Spring中,IoC容器是实现这个模式的载体, 它可以在对象生成或初始化时直接将数据注入到对象中,也可以通过将对象引用注入到对象数据域中的方式来注入对方...

qq_18150351
04/24
0
0
Spring中ApplicationContext和beanfactory区别

org.springframework.beans及org.springframework.context包是Spring IoC容器的基础。BeanFactory提供的高级配置机制,使得管理任何性质的对象成为可能。ApplicationContext是BeanFactory的扩...

ArlenXu
2015/01/18
0
0
Spring集成 Struts2

Spring如何整合struts2? 1) 整合目标? 使IOC容器来管理Struts2的Action! 2) 如何进行整合? ① 正常加入Struts2 ② 在Spring的IOC容器中配置Struts2的Action 特别注意:在IOC容器中配置S...

哎小艾
2017/11/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

qduoj~前端~二次开发~打包docker镜像并上传到阿里云容器镜像仓库

上一篇文章https://my.oschina.net/finchxu/blog/1930017记录了怎么在本地修改前端,现在我要把我的修改添加到部署到本地的前端的docker容器中,然后打包这个容器成为一个本地镜像,然后把这...

虚拟世界的懒猫
46分钟前
1
0
UML中 的各种符号含义

Class Notation A class notation consists of three parts: Class Name The name of the class appears in the first partition. Class Attributes Attributes are shown in the second par......

hutaishi
57分钟前
0
0
20180818 上课截图

小丑鱼00
今天
1
0
Springsecurity之SecurityContextHolderStrategy

注:下面分析的版本是spring-security-4.2.x,源码的github地址是: https://github.com/spring-projects/spring-security/tree/4.2.x 先上一张图: 图1 SecurityContextHolderStrategy的三个......

汉斯-冯-拉特
今天
0
0
LNMP架构(Nginx负载均衡、ssl原理、生成ssl密钥对、Nginx配置ssl)

Nginx负载均衡 网站的访问量越来越大,服务器的服务模式也得进行相应的升级,比如分离出数据库服务器、分离出图片作为单独服务,这些是简单的数据的负载均衡,将压力分散到不同的机器上。有时...

蛋黄_Yolks
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部