spring源码分析第一天------源码分析知识储备
Spring源码分析怎么学?
1、环境准备;
2、思路
看:是什么? 能干啥
想:为什么?
实践:怎么做?
调试的时候,完全可以在运行环境,导入jar就能调试(有针对性的打断点)
3、如何从0到1去学习
首先看官网文档,去网上找资料参考 (有了基本的概念,产生很多问题,很多猜想)
然后,看项目结构(更加具体的了解,还是产生很多猜想)
为什么会存在Spring这个东西?
能做什么,做了什么,要我来做,我该怎么做?
IOC、AOP、DI、BeanFactory等这样的一些零碎的概念
能做什么:Java中的万能胶
做了什么:Java Bean能够实现无缝对接
要我来做,我该怎么做: 作为一个框架而言,在编写框架代码的时候,所要对接Bean是不存在
通过预设规则,按照一定的规则去顺序加载或识别需要对接的Bean
(反射,通过类全名字符串可以找到并创建一个Bean的实例)
规定配置文件的默认名字
IOC:缓存的地方,得把它存起来(Map容器)
DI:getter、setter、constructor(反射、invoker)
AOP:为了增强原始Bean的功能(代理技术)
4、没有Spring以前是如何开发?
a、很多设计模式需要自己去整合;
b、所有的封装、继承、多态、增强、依赖、模块管理等等工作都有自己制定统一的规则(杂乱无章);
c、所有的创建对象、配置依赖关系、资源的重复利用、扩展性的手动操作
Spring出现以后,Java程序员解放了双手
5、如何学习Spring:七分猜测三分验证
看源码第一遍是非常痛苦的;
看第二遍、看第三遍思路越来越清晰
带着思考去找入口(主入口、隐藏的入口)
6、Spring:定位、加载、注册
ClassPathXmlApplicationContext app 显示的入口
查找用户需要加载哪些配置文件
读取配置文件
注册