课程介绍
课程⼤纲
IOC篇
基础篇
实验⼀:IOC容器到底是什么?容器如何创建Bean?
实验介绍
实验内容
实验总结
实验⼆:Spring中的各种注⼊⽅式
实验介绍
实验内容
实验总结
实验三:Spring中初始化及销毁回调
实验介绍
实验内容
实验总结
实验四:Spring中的“Class”:BeanDefinition
实验介绍
实验内容
实验总结
实验五:Spring是如何将BeanDefinition创建出来的?
实验介绍
实验内容
实验总结
实验六:BeanFactoryPostProcessorspring framework扩展点
实验介绍
实验内容
实验总结
实验七:BeanPostProcessor
实验介绍
实验内容
实验总结
实验⼋:FactoryBean
实验介绍
实验内容
实验总结
实验九:BeanFactory
实验介绍
实验内容
实验总结
实验⼗:ApplicationContext
实验介绍
实验内容
实验总结
进阶篇
实验⼗⼀:Spring中的事件监听机制
实验介绍
实验内容
实验总结
实验⼗⼆:Spring中的运⾏环境(Environment)及其对资源的封装实验介绍
实验内容
实验总结
实验⼗三:Spring中的BeanWrapper及类型转换
实验介绍
实验内容
实验总结
实验⼗四:Spring中的Formater及格式化
实验介绍
实验内容
实验总结
实验⼗五:Spring中的DataBinder及数据绑定
实验介绍
实验内容
实验总结
实验⼗六:Spring中的Validator及数据校验
实验介绍
实验内容
实验总结
AOP篇
基础篇
实验⼗七:JDK动态代理原理分析
实验介绍
实验内容
实验总结
实验⼗⼋:CGLIB动态代理原理分析
实验介绍
实验内容
实验总结
实验⼗九:AOP的核⼼概念
实验介绍
实验内容
实验总结
实验⼆⼗:Spring中AOP中相关的API
实验介绍
实验内容
实验总结
进阶篇
实验⼆⼗⼀:Spring中IOC跟AOP结合的原理
实验介绍
实验内容
实验总结
总结篇
实验⼆⼗⼆:⽣命周期详解(⾯试重点)
实验介绍
实验内容
实验总结
实验⼆⼗三:循环依赖详解(⾯试重点)
实验介绍
实验内容
实验总结
课程介绍
本课程会以理论结合实践的⽅式⼀步步推进,最后从源码剖析Spring的实现原理。
市⾯上⽬前Spring的课程很多,但是基本都存在这个⼏个问题
1. 版本较低,⽬前最新的版本都已经5.
2.9.RELEASE,⽽讲解的版本都还停留在Spring4
2. 内容陈旧,XML⽅式已经渐渐废弃了,但是还是以XML⽅式作为⼊⼝来分析
3. 没有深度,⼤都停留在使⽤阶段,就算是源码分析也不够细致,⽆法兼顾细节
本课程将突破以上三点
1. 选⽤Spring最新版本,5.
2.9.RELEASE
2. 本⽂所有的分析⼊⼝都是选⽤最流⾏的注解的的⽅式
3. 从使⽤到原理,既俯瞰设计也深⼊细节,笔者⼀直认为,细节才能体现设计者的思想,所以相关源码分析会极
度细致。
所以,本课程难度较⼤,请同学们做好⼼理准备
课程⼤纲
IOC篇
基础篇
实验⼀:IOC容器到底是什么?容器如何创建Bean?
实验介绍
1. 知识点
运⾏⼀个Spring容器,并断点查看容器的各个组成部分
理解Spring创建⼀个完整的Bean的过程
学习Spring实例化Bean的⼏种⼿段
2. 实验环境
Spring版本:5.2.9.RELEASE
实验内容
1. 启动⼀个Spring容器,并通过断点的⽅式查看容器的组成部分
2. 测试Spring对Bean的实例化
思考:Spring到底是依据什么规则来实例化Bean的?
3. Spring实例化Bean的⼏种⽅式
构造函数
静态⼯⼚⽅法
实例⼯⼚⽅法
supplier
实验总结
图⽚+⽂字
实验⼆:Spring中的各种注⼊⽅式
实验介绍
1. 知识点
⾃动注⼊
显示注⼊
@Autowired跟@Resource的区别,Spring中的byName跟byType到底是什么?
2. 实验环境
Spring版本:5.2.9.RELEASE
实验内容
1. 测试⾃动注⼊的⼏种模型
byName
byType
byConstructor
2. 测试显示注⼊
思考:@Autowired跟@Resource的区别,Spring中的byName跟byType到底是什么?
3. 测试Spring对Bean的实例化
思考:Spring到底是依据什么规则来实例化Bean的?
4. Spring实例化Bean的⼏种⽅式
构造函数
静态⼯⼚⽅法
实例⼯⼚⽅法
supplier
实验总结
图⽚+⽂字
实验三:Spring中初始化及销毁回调
实验介绍
1. 知识点
Spring容器⾃身的启动回调
Spring容器⾃身的销毁回调
Spring中Bean初始化回调⽅法
Spring中Bean销毁时回调⽅法
2. 实验环境
Spring版本:5.2.9.RELEASE
实验内容
1. 测试LifeCycle接⼝作⽤
2. ⽐较LifeCycle跟SmartLifecycle接⼝的差异
3. 测试Spring的⼏种初始化⽅法(注解、接⼝、XML配置)
实验总结
图⽚+⽂字
实验四:Spring中的“Class”:BeanDefinition
实验介绍
1. 知识点
理解BeanDefinition的作⽤,类⽐Jdk中的Class对象
理解Spring中的各种BeanDefinition的设计⽬的
理解BeanDefinition合并的过程及⽬的
2. 实验环境
Spring版本:5.2.9.RELEASE
实验内容
1. 通过例⼦演示BeanDefinition的作⽤,并通过硬编码的⽅式创建BeanDefinition
2. 学习BeanDefinition的各种⼦类,通过代码及理论分析解释其设计的⽬的
3. 学习什么是BeanDefinition的合并?并分析合并的必要性及通过源码分析合并的原理实验总结
图⽚+⽂字
实验五:Spring是如何将BeanDefinition创建出来的?
实验介绍
1. 知识点
Spring中的扫描机制
如何扩展Spring中的扫描机制?
2. 实验环境
Spring版本:5.2.9.RELEASE
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论