Spring容器的创建原理
1.new ioc容器(AnnotationConfigApplicationContext 注解ioc)
2.refresh()方法调用
2.1 prepareRefresh()刷新前的预处理
a:initPropertySources();
b:getEnvironment().validateRequiredProperties();初始化信息的校验
c:earlyApplicationEvents 事件触发准备器
2.2 obtainFreshBeanFactory() 获取beanfactory
a:refreshBeanFactory();刷新beanfactory 穿建了一个 this.beanFactory = new DefaultListableBeanFactory(); 并设置id
b:getBeanFactory();返回上面创建的beanfactory;
2.3 prepareBeanFactory(beanFactory); beanfactory的预准备工作;类加载器 ,解析器,beanpostprocessor;可以解析的自动装配;
2.4 beanfactoryPostProcessor
a:子类通过重写这个方法来在beanfactory创建预准备完成做进一步设置。
**************************************************************************************************BeanFactory的创建以及预准备工作***************************************************************************************************
2.5:invokeBeanFactoryPostProcessors(beanFactory); beanfactory的后置处理器 ,在beanfactory标准初始化之后执行
a:BeanDefinitionRegistry
2.6 registerBeanPostProcessors(beanFactory); 注册beanpostprocessor
Spring容器的创建原理的更多相关文章
- Spring容器的创建刷新过程
		Spring容器的创建刷新过程 以AnnotionConfigApplicationContext为例,在new一个AnnotionConfigApplicationContext的时候,其构造函数内 ... 
- Spring中各种扩展原理及容器创建原理
		一.BeanFactoryPostProcessor BeanFactory的后置处理器:在BeanFactory标准初始化之后调用,来定制和修改BeanFactory的内容:所有的bean定义已经保 ... 
- Spring学习笔记之 Spring IOC容器(一)之 实例化容器,创建JavaBean对象,控制Bean实例化,setter方式注入,依赖属性的注入,自动装配功能实现自动属性注入
		本节主要内容: 1.实例化Spring容器示例 2.利用Spring容器创建JavaBean对象 3.如何控制Bean实例化 4.利用Spring实现bean属性sett ... 
- (转)编码剖析Spring管理Bean的原理
		http://blog.csdn.net/yerenyuan_pku/article/details/52832434 在Spring的第一个案例中,我们已经知道了怎么将bean交给Spring容器进 ... 
- Spring 容器
		Spring提供了两个核心接口:BeanFactory和ApplicationContext,其中applicationContext是BeanFactory的子接口. 他们都可代表Spring容器, ... 
- 使用Spring容器
		Spring的两个核心接口:BeanFactory和ApplicationContext,其中ApplicationContext是BeanFactory的子接口. Spring容器就是一个大的Bea ... 
- Spring 读书笔记-----使用Spring容器(一)
		pring有两个核心接口:BeanFactory和ApplicationContext,其中ApplicationContext是BeanFactory的子接口.他们都可代表Spring容器,Spri ... 
- (转)Spring 读书笔记-----使用Spring容器(一)
		Spring有两个核心接口:BeanFactory和ApplicationContext,其中ApplicationContext是BeanFactory的子接口.他们都可代表Spring容器,Spr ... 
- Spring容器
		1.Spring简介: a)Spring春天 b)官网:https://spring.io c)设计理念:轮子理念,不要重复创造轮子: d)Spring可以被理解为一个容器,用于管理其他的框架: e) ... 
随机推荐
- 第3节 Scala中的模式匹配:1 - 5
			7. 模式匹配和样例类 Scala有一个十分强大的模式匹配机制,可以应用到很多场合:如switch语句.类型检查等.并且Scala还提供了样例类,对模式匹配进行了优化,可以快速进行匹配. 7.1 ... 
- Codeforces Round #588 (Div. 2)D(思维,多重集)
			#define HAVE_STRUCT_TIMESPEC#include<bits/stdc++.h>using namespace std;long long a[7007],b[700 ... 
- 修改vue中的挂载页面(index.html)的路径
			修改vue中的挂载页面(index.html)的路径 2019年03月30日 12:07:12 VegasLemon 阅读数 501 版权声明:本文为博主原创文章,未经博主允许不得转载. htt ... 
- GsonUtils.getGson().fromJson() 转泛型集合用法
			//计算其他收费 List<QiTaFree> qiTaFreeList = GsonUtils.getGson().fromJson(exhiMain.getQiTaFressJson( ... 
- Systemverilog for design 笔记(六)
			转载请标明出处 第一章 有限状态机建模(FSM,finite state machine) 1.1. 使用枚举类型建立状态机模型 l 三过程块建模风格:三个过程块分别实现: a.状态转换(al ... 
- java中内部类的实例化
- js通过cookie对两个没有关系的jsp页面进行传值
			//Cookie取值 function readCookie (name) { var cookieValue = ""; var search = name + "=& ... 
- 回顾PHP:第一章:PHP基础语法(2)
			十.PHP常量和变量——用常量限制用户跳过某些文件(重要) 十.1常量在代码中定义.书写方式: define(常量名,常量值) 注:1.常量值只能为标量 2.常量名可以小写,但是通常大写 3.常量名可 ... 
- Duilib自定义控件
			新版博客已经搭建好了,有问题请访问 htt://www.crazydebug.com 在公司二期项目中为了将谷歌内核嵌入到duilib中,采用了自定义duilib控件的方法,由于也是第一次用duili ... 
- 700k把web端程序包装为桌面程序
			electron因为自带cef所以体积巨大,还不是因为windows没有chromium的webview嘛,现在有了新edge后,这个项目通过依赖各个平台的webview,并依赖.net core,做 ... 
