spring源码分析-----方法论篇

一:Spring怎么学

1、环境准备好了没有,就是通过Gradle来把spring的源码引入进来,可以自由编译的。
2、项目里头有红叉
学源码 ,不一定要让项目完全跑起来,包一两个红叉其实不要紧

看:是什么? 能干啥
想:为什么?
---------------------------
实践:怎么做?
调试的时候,完全可以在运行环境,导入jar就能调试(有针对性的打断点)

二,如何从0到1去学习

首先看官网文档,去网上找资料参考 (有了基本的概念,产生很多问题,很多猜想)
然后,看项目结构(更加具体的了解,还是产生很多猜想)

为什么会存在Spring这个东西?
能做什么,做了什么,要我来做,我该怎么做?

IOC、AOP、DI、BeanFactory等这样的一些零碎的概念(人云亦云)

能做什么

Java中的万能胶

做了什么

Java Bean能够实现无缝对接


要我来做,我该怎么做: 作为一个框架而言,在编写框架代码的时候,所要对接Bean是不存在
通过预设规则,按照一定的规则去顺序加载或识别需要对接的Bean(反射,通过类全名字符串可以找到并创建一个Bean的实例)
规定配置文件的默认名字

IOC:缓存的地方,得把它存起来(Map容器)

DI:getter、setter、constructor(反射、invoker)

AOP:为了增强原始Bean的功能(代理技术)

ioc就是一个容器,把所有的数据都缓存起来。

DI就是对数据的操作。

AOP就是加强BEAN的功能。

三,没有Spring将如何开发


人是懒惰的,一切高端技术的发明都是源于人类懒惰,何必重复造轮子呢?
没有Spring,那是到了Spring出现以前的开发了
a、很多设计模式需要自己去整合,当然,你也可以选择不用设计模式(只不过多走点弯路而已)
b、所有的封装、继承、多态、增强、依赖、模块管理等等工作都有自己制定统一的规则(百花齐放,百家争鸣)
c、所有的创建对象、配置依赖关系、资源的重复利用、扩展性的手动操作

许多对象都需要new出来的,jdbc+jsp+servlet

Spring出现以后,Java程序员的春天真的来了,解放了

四,Spring源码的入口

ClassPathXmlApplicationContext app 显示的入口
查找用户需要加载哪些配置文件
读取配置文件
注册


定位、加载、注册

猜你喜欢

转载自www.cnblogs.com/qingruihappy/p/10445995.html