Spring容器启动流程

1、创建beanFactory工厂,用来生产Bean
2、注解读取器,读取那些@Service丶@Component注解
Spring的IOC容器是不读取controller层的
controller层是SpringMVC容器(IOC的子容器)中加载的
3、路径扫描器,我们不仅要扫描当前主类包下的,还要扫描一些我们指定路径下的Class文件
4、还有解析一些配置类,就是@Configuration标注的那些Bean
之后就是核心的refresh容器刷新,refresh方法里面就有好多步骤,注册一些组件

5、BeanFactory后置处理器 -> BeanFactoryPostProcessor,可以修改BeanDefinition的元数据,比如单例的Bean改成原型
6、Bean后置处理器 -> BeanPostProcessor,这里可以依赖注入丶动态代理,等一下创建Bean要用的
把一些用得到的组件加载好
然后所有的单例Bean进⾏getBean()创建,对于多例Bean什么时候用就什么时候创建了

7、接着整个创建Bean的⽣命周期,这期间包括了推断构造⽅法、实例化、依赖注入、初始化前、初始化、初始化后,初始化后这里有AOP就生成代理对象,完成后讲Bean对象保存到容器的Map中

8、所有单例Bean创建完了之后

9、finishRefresh(),最后一次刷新,清理一下缓存(循环依赖三级缓存)丶重置一下事件(标志我完成了),Spring启动

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值