spring源码解析 1——初级篇
核心模块:
- 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:终测版-即将作为正式版本