Spring源码-复杂的spring源码从哪开始看-学习笔记

1.坚持看完一个框架的源码,后面的会一通百通。
2.掌握正确读源码的方法。

Spring 面试一般会问这两方面的问题

IOC
AOP

要看懂AOP的源码就必须看懂IOC的源码。

IOC-是人就会说

控制反转,原来控制创建对象的时候,是需要我们自己来创建的。
而现在我们不需要了,由spring容器自动的给我们创建。我们需要的时候直接从spring容器中获取就行。

里面的核心点,没几个人说的出来。

Spring对象的创建方式,
对象创建需要经历什么样的流程。

面试常见的几个问题

聊聊spring
说明bean的生命周期
循环依赖
三级缓存
FactoryBean和beanFactory
ApplicationContext和BeanFactory的区别
设计模式
什么是beanPostProcess和beanFactoryPostProcess,干啥的,执行流程?

spring是springboot和springCloud的拓展。

提到Spring就是IOC容器,用来放bean.用map来存放bean,map(三级缓存)。

存放的是K-V形式的数据

创建对象
获取对象
beanName
Bean实例对象

获取bean

创建对象的方式

new
工厂
反射

Spring创建对象的方式,创建哪些对象。

xml文件的bean标签,根据bean的描述信息创建对象。Spring采用的是反射的方式,有工厂有反射的创建bean对象。

这个xml文件存在的意义。

在这里插入图片描述

在这里插入图片描述

实例化
在堆中开辟一块空间,属性都是默认值

初始化
在堆中开辟一块空间,属性都是默认值,给属性完成赋值操作。这其中又有两个操作。

填充属性,赋值。
调用具体的初始化方法。

BeanPostProcessor:增强器、后置处理器。这些都是为了拓展实现的。

Environment

为了方便使用,在容器创建的时候会提前加载系统的相关属性,加载到StandardEnvironment对象中,方便后续使用。

env
properties

在这里插入图片描述
在这里插入图片描述

如果我需要在bean对象的创建过程中,详细了解每一个步骤完成的进度,我应该怎么做?在不同的阶段要做不同的进度工作,应该怎么办?

用到观察者模式:监听器、监听事件。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值