spring容器的创建过程

spring容器的refresh()创建刷新

1.prepareRefresh()刷新前的预处理

1)initPropertySources()初始化一些属性设置,子类自定义个性化的初始化方法

2)getEnvironment().validateRequiredProperties()检验属性的合法性

3)this.earlyApplicationEvents = new LinkedHashSet<>()保存容器中的一些早期事件

2.obtainFreshBeanFactory()获取BeanFactory

1)refreshBeanFactory()创建BeanFactory

创建DefaultListableBeanFactory beanFactory = createBeanFactory()创建一个默认工厂

设置工厂的id标识

2)getBeanFactory()【DefaultListableBeanFactory】返回上一步创建好的BeanFactory

3.prepareBeanFactory(beanFactory)BeanFactory的预准备工作(BeanFactory进行一些设置)

1)设置类加载器,支持的表达式解析器

2)添加部分的bean的后置处理器【ApplicationContextAwareProcessor】

3)设置忽略的自动装配接口

4)注册可以解析的自动装配,注册后能直接在任何组件中注入BeanFactory,ResourceLoader,ApplicationEventPublisher,ApplicationContext

5)添加部分的bean的后置处理器【ApplicationListenerDetector】

6)添加编译时的Aspectj支持

7)给BeanFactory中注册一些能用的组件

environment【ConfigurableEnvironment】配置环境

systemProperties【Map】系统属性

systemEnvironment【Map】系统环境

4.postProcessBeanFactory(beanFactory)准备工作完成后进行的后置处理工作

1)子类通过重写postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)在BeanFactory创建并与准备完成以后做进一步设置

======以上是BeanFactory创建及预准备工作=====

5.invokeBeanFactoryPostProcessors执行BeanFactory的后置处理器(为容器中的Bean注册工厂处理器)

BeanFactoryPostProcessor:BeanFactory的后置处理器&#x

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值