spring 源码级学习 01

一:目的:

spring作为java开发的“范本”,极具学习价值。我将在这里尽量用简练的白话文,记录下学习的过程和遇到的问题。

二:开端

从spring官网(https://spring.io/)找到spring的全家桶。发现作为“基石”的成员“springFramework”以及“springBoot”。最终决定,以封装较少的springFrameWork作为第一个学习的目标。

学习一个框架之前的准备工作有:

1:了解框架的定义,明白其解决了哪些问题

2:大致查找框架的基本架构。选择学习的切入口

3:从官网拿到源码。

过程不在赘述。

目录

一:目的:

二:开端

Spring Framework

一:架构图:

二:概念理解(实时更新)


Spring Framework

一:架构图:

 

可以看到。spring提供了业务和非业务的功能支撑。共6大模块,以容器的形式对bean进行管理并以对bean的操作为核心。 因此,我们选择ioc作为切入点进行了解。

IOC(控制反转):创建bean的实例的角色从程序员变为spring。配合DI(依赖注入):将有依赖关系的2个bean在实例化过程中关联起来。两者配合,完成对bean的初步管理(实例化),不需要开发者手动实例化(new)

方式:源码阅读以及核心功能手写。

二:概念理解(实时更新)

高级容器和基础容器的理解和区别

基础容器-beanFactory :维持容器的最本质功能~管理bean。

      创建时机:创建bean实例的时机是,bean被调用的时候,比如getBean的时候。

高级容器-applicationContext:提供更高端的容器功能。 

      创建时机:当服务(tomcat)启动后,会创建高级容器的所有bean实例(预先初始化)

关系:高级容器是基础容器的子类。两者是继承关系。

循环依赖的原因

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值