面试-Spring 源码

介绍一下Spring,读过源码介绍一下大致流程

​ 1.Spring是一个快速开发框架,Spring帮助程序员来管理对象

​ 2.Spring的源码实现的是非常优秀的,设计模式的使用,并发安全的实现,面向接口的设计等

​ 3.在创建Spring容器,也就是启动Spring时:

​ a.首先会进行扫描,扫描得到所有的BeanDefinition对象,并存在一个Map中

​ b.然后筛选出非懒加载的单例BeanDefinition进行创建Bean,对于多例Bean不需要在启动的过程中进行创建,对于多例Bean会在每次获取Bean时利用BeanDefinition去创建

​ c.利用BeanDefinition创建Bean就是Bean的创建生命周期,这期间包括合并BeanDefinition、推断构造方法,实例化、属性填充、初始化前、初始化、初始化后等步骤、其中Aop就是发生在初始化后这一步骤中

​ 4.单例Bean创建完了之后,Spring会发布一个容器启动事件

​ 5.Spring启动结束

​ 6.在源码中会更复杂,比如源码中会提供一些模板方法,让子类来实现,比如源码中还涉及到一些BeanFactoryPostProcessor和BeanPostProcesser的注册,Spring的扫描就是通过BeanFactoryPostProcessor来实现的,依赖注入就是通过BeanPostProcessor来实现的

​ 7.在Spring启动过程中还会处理@Import等注解

​ 参考视频:https://www.bilibili.com/video/BV1A5411u7QN?p=9

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值