IDEA构建Spring源码
下载源代码:
首先我们先去官网下载spring源代码,官网地址:[spring官网地址](https://spring.io/)
然后找到spring源代码进行下载,如图:
进入spring frameword主页后,点击右上角github按钮,跳转后即可选择对应的版本进行下载。
注:spring4.0之后将采用gradle构建,如果下载的版本大于4.0,则先下载gradle并配置环境变量,
建议先下载spring源代码,源代码根路径有个build.gradle 文件,打开后查找 ‘gradleVersion’ ,gradleVersion
所对应值就是要求gradle所对应的版本号。
安装gradle步骤:
- gradle地址:https://gradle.org/
- 下载后进行解压,并配置环境变量(GRADLE_HOME指向目录为根目录,然后path添加%GRADLE_HOME%\bin,也可直接在path配置gradle )
- 完成后,cmd窗口输入gradle -v 验证,如果出现版本信息则代表安装成功。
构建源代码:
- cmd进入到项目根目录,
- 运行gradlew.bat文件(输入gradlew.bat直接回车)
- 等待构建完成
- 构建结果
打开idea搜索ApplicationContext,ctrl+alt+shift+u 如果能查看类图,则代表spring源代码构建成功。
扩展:
- spring源代码各个模块作用
- spring版本命名规则
spring源代码各个模块作用
核心模块:
- spring-core:核心模块 依赖注入IOC和DI的最基本实现
- spring-beans:Bean工厂与装配
- spring-context:上下文,即IOC容器
- spring-context-support:对IOC的扩展,以及IOC子容器
- spring-context-indexer:类管理组件和Classpath扫描
- spring-expression:表达式语句
切面编程:
- spring-aop:面向切面编程,CGLB,JDKProxy
- spring-aspects:集成AspectJ,Aop应用框架
- spring-instrument:动态Class Loading模块
数据访问与集成:
- spring-jdbc:提供JDBC主要实现模块,用于简化JDBC操作
- spring-tx:spring-jdbc事务管理
- spring-orm:主要集成Hibernate,jpa,jdo等
- spring-oxm:将java对象映射成xml数据或将xml映射为java对象
- spring-jms:发送和接受消息
web组件:
- spring-web:提供了最基础的web支持,主要建立在核心容器上
- spring-webmvc:实现了spring mvc的web应用
- spring-websocket:主要与前端页的全双工通讯协议
- spring-webflux:一个新的非阻塞函数式Reactive Web框架
报文
- spring-messaging:4.0加入的模块,主要集成基础报文传送应用
测试:
- spring-test:测试组件
集成兼容:
- spring-framework-bom:解决不同模块依赖版本不同问题
spring版本命名规则
常用软件版本规则:
一般采用:x.y.z格式命名
- xyz为非负数 y为偶数代表稳定版本,反之代表开发版本
- x:主版本号(api的兼容性发生变化,比如修改方法参数)
- y:次版本号 (增加功能,不影响原有api的兼容性)
- z:修订号 (bug修复,不影响api的兼容性)
比如:当前版本为1.0.0
- 修改方法参数,影响原有api的兼容性 版本号升级为:2.0.0
- 新增方法,对原有api的兼容性不影响,版本号升级为:2.1.0
- 修复bug,改变方法内部逻辑, 版本号升级为:2.1.1
spring版本命名规则:
- Snapshot:快照版-不稳定,处于开发中版本
- Release: 稳定版-功能相对稳定,可以对方开发但受时间限制
- GA : 正式版-可广泛使用的稳定版
- M:里程碑版-具有全新功能或是具有里程碑意义的版本
- RC:终测版-即将作为正式版本