Spring 各版本发布时间与区别
版本 | 版本特性 |
---|---|
Spring Framework 1.0 | 1. 所有代码都在一个项目中 2. 支持核心功能IoC、AOP 3. 内置支持Hibernate、iBatis等第三方框架 4. 对第三方技术简单封装。如:JDBC、Mail、事务等 5. 只支持XML配置方式。 6.主要通过 XML 配置文件来管理对象和依赖关系,配置工作较为繁琐。 |
Spring Framework 2.0 | 1. 最重要的变化:支持注解配置 2. 增加对ehcache支持 3. 对JMS(Java消息服务)、JMX(Java管理扩展)等支持 4.引入了更多的企业级特性,如声明式事务管理。 5.支持与第三方框架(如 Struts、Hibernate)的更好集成。 6.提供了更多的数据访问支持,如 JdbcTemplate 和 HibernateTemplate。 |
Spring Framework 3.0 | 1. 引入了基于 Java 的配置(@Configuration),作为 XML 配置的替代。 2. 由原来的一个项目拆分成多个子模块。 3. 添加单元测试子模块 4. 大量扩展了注解驱动的开发,使得代码更加简洁。 5. 支持JSR-303/JSR-349 Bean Validation 规范,用于验证模型对象。 6. 强化了对 RESTful Web 服务的支持,引入了 @RestController 和 ResponseEntity。 |
Spring Framework 4.0 | 1. 全面支持Java 8,如 Lambda 表达式和日期/时间 API。 2. 添加二级子项目 Spring MVC ,基于Servlet 3.0开发 3. 提供WebSocket支持。 4. 引入@RestController等注解,增强对Restful的支持。 5. 专注于提升性能和减少内存占用。 6. 更好地适应了多核处理器和高并发环境。 |
Spring Framework 5.0 | 1. 最低环境要求Java 8 2. 日志整合。把原来commons-logging 封装后变为spring-jcl模块 3. 跨域更改。把原来的JSONP支持变更为修改响应头的@CrossOrigin注解。 4. 响应式编程。添加二级子项目WebFlux ,支持Reactor和其他反应式流库。 5. 使用Kotlin(科特林)进行函数式编程 6. 对Java 9及更高版本的支持。 7. 强化了对微服务和云原生应用的支持。 8. 提升了对WebSocket和HTTP/2协议的支持。 |
Spring Framework 6.0 | 1. 最低环境要求Java 17 2. 加强对响应式编程支持。添加子模块spring-r2dbc 3. 取消子模块spring-orm-hibernate 4,只保留spring-orm,只支持Hibernate5。 |