Spring5源码系列-02-源码整体脉络

简介

Spring框架源码拥有约108万行代码,如果要把所有的代码都看一遍,是需要花费大量时间和精力,而且很容易跟进一个方法绕进去,所以我们需要抓住Spring源码主干源码和Spring源码对各种设计模式的运用,以及怎么有条不紊的整合各种框架实现可扩展,各种框架是怎么无缝衔接的织入Spring框架的,比如Spring整合mybatis、nacos是在哪里织入Spring的等等。

ps:idea 插件 Statistic 可以统计框架有多少行代码

本章主要内容

  1. Spring源码的整体脉络梳理
  2. 什么是BeanFactory
  3. BeanFactory和ApplicationContext的区别
  4. 图诉SpringIoc的加载过程

先将类加载成Bean定义,加载Bean定义有一个步骤,首先读取到我们的配置类,通过我们的配置类,扫描到配置了@Component等注解的类,然后注册成Bean定义,ApplicationContext可以调用BeanFactoryPostProcessor修改Bean定义,调用BeanDefinitionRegistryPostProcessor注册成Bean定义,通过BeanFactory调用getBean(),然后会实例化,填充属性(解析@Autowired、@Value),初始化调用各种Aware,调用initMethod方法,生产过程中会有很多扩展点,最终放在一个Map里面

  1. 图诉Bean的生命周期
  2. 图诉Spring中的扩展接口

前置知识

  • Spring框架的使用
  • java编程基础、反射、设计模式、动态代理等

学习资料

  • 设计模式:https://mp.weixin.qq.com/s/12fLnRxKCYABSItkKvU8Fw

概念

IOC 控制反转:用来解决层层之间的耦合

Spring是一个IOC的容器,容器里面管理的是各种Bean,IOC控制反转,是一种设计思想,DI是它的实现。

脉络

  1. 我们知道IOC管理了很多Bean,那么怎么将Bean注入IOC,而成为一个Bean?或者我们怎么将一个类怎么变成一个Bean交给IOC管理?

Spring应用的时候一般会

  • 第一步:配置我们的类,不管是xml或者@注解、javaconfig方式配置。
  • 第二步:加载Spring上下文,一般2种方式。xml:new ClassPathXmlApplicationContext(“xml”) 注解:new AnnotationConfigApplicationContext(Config.class)
  • 第三步:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值