spring源码

java就是一个一个对象Bean(咖啡豆),为什么?面向对象编程嘛。
从javaBean->Enterprose java beans(EJB)->pojo(spring提出的)

spring就受不了了,ejb的各种bean,而且jsp,java代码+html+js+sql语句,挤在一起,难以维护。

spring源码_第1张图片

spring源码_第2张图片

spring源码_第3张图片

如上图,ioc就是把所有的bean保存到内存中,然后di就是进行注入,取出ioc里面的东西,注入到需要的地方

aop就是说,你再一个apo里面,可能也会用到ioc里面的bean

 

 

 

spring源码_第4张图片

 

spring源码_第5张图片

spring源码_第6张图片

spring-content-indexer和spring-instrument配合起来,去装载对应的class类

上面都算是核心模块把,只是第二张图把核心模块里面的aop模块抽取出来分类了

 

spring源码_第7张图片

spring为mybatis提供一个单独的jar包,大佬嘛,单独提供

 

spring源码_第8张图片

webflux是一个新的东西,暂时不知道有毛用

webmvc基于web建立起来的

 

 

spring源码_第9张图片

 

 

spring源码_第10张图片

spring模块的互相依赖如上图,其中core是启动,test是唯一一个独立模块。

箭头的尖尖面,就是被依赖的模块。

 

 

spring源码_第11张图片

spring目前有serlet和reactive两个体系,依赖的基础组件也不同。

flux其实就是soringboot通过run方法启动,内置tomcat

 

 

软件版本说明:

spring源码_第12张图片spring源码_第13张图片

x表示原来代码中,哪些方法名被修改了,或者参数之类的,就是原来的功能被修改了。

如下图:1.0.0 => 2.0.0,其中的login方法名发生改变。

spring源码_第14张图片

y是增加了哪些功能,z是做了bug修复

spring源码_第15张图片

总结 : 变,新,改

 

 

spring源码_第16张图片

spring源码_第17张图片

 

构建的文档可以去官网看,也可以去gitbuh下面看

spring源码_第18张图片spring源码_第19张图片

 

构建spring环境

1.下载安装gradle,这里视频里面用的是4.3.1,下载完zip包,解压,把bin路径配置到环境变量,gradle -v ,即可看到版本

2.下载spirng5.2-release,打开,进入,看到gradlew.bat,执行之。

spring源码_第20张图片

3.用idea来import一下,注意是import整个目录,注意是import

spring源码_第21张图片

4.进行一系列选择

spring源码_第22张图片

spring源码_第23张图片

5.验证是否成功导入

spring源码_第24张图片

spring源码_第25张图片

 

踩坑回放

spring源码_第26张图片

spring源码_第27张图片

spring源码_第28张图片

spring源码_第29张图片

改成tools.jar.bak

可能还要打开任务管理器,关掉java进程,不然提示被占用。

进来后再次刷新gradle

spring源码_第30张图片

然后再看是否是黑体加粗,搜索一下类图。

异常原因:idea有jar环境,本地有jar环境,用了同一个jar包,不知道用哪个,需要进行隐藏。

 

 

上面是视频老师的做法,这里我把我总结出来的,可行的方式来做。

前置条件:

1.gradle4.9

2.spring5.0.2(沽泡学院提供的)

 

步骤:

1.直接进入spring5.0.2中,运行gradlew.bat

2.idea对spring5.0.2进行import,基本就是按上面的图片来电,不同的是一个地方需要注意

spring源码_第31张图片

spring源码_第32张图片

 

你可能感兴趣的:(java)