Spring 的历史

Spring 的历史

本文主要去介绍spring 的历史和每个版本发布的不同的功能。

0.9

Spring的第一次出现在2002年的“Expert One-on-One J2EE Design and Developmen”上。

这次带来的有

  • JavaBeans 配置管理
  • JDBC抽象层
  • MVC框架
  • 事务
  • AOP

更多信息看 spring-0.9

1.0

这个版本在2004年3月24日发布

  • IOC
  • AOP 做了升级
  • application context 引入
  • 更通用的事务管理
  • support for source-level metadata 比如transaction注解
  • 通用的DAO支持
  • JDBC抽象的简化
  • hibernate支持,SessionFactory和事务级别的 ThreadLocal Sessions
  • 支持iBATIS SQL Maps 1.3/2.0,并且集成到spring的事务级别的管理
  • mail sender的抽象,
    ...

更多请看 spring-1.0

2.X

  • IOC
    • 更简单的XML配置
    • 新的bean scope
    • 可拓展的XML
  • AOP
    • 更简单的XML配置
    • 支持 @AspectJ 切片
  • The Middle Tier (中间层)
    • 在XML中声明transactions更简单
    • JPA spring 2.0 嵌入了JPA的抽象层
    • JDBC
      • 引入了几个新的class NamedParameterJdbcTemplate,SimpleJdbcTemplate
  • web层(spring MVC)
    • form 标签库(JSP tag lib 集成)
  • 其他
    • 动态语言支持(Groovy, JRuby, BeanShell)
    • Task scheduling
    • Java 5的支持

更多请看 Spring-2.X

3.X

  • 基于Java 5
  • Spring 的模块都单独分离出各自的jar包
  • Spring 表达式
  • IOC enhance
  • JavaConfig的元注解集成
  • 通用的类型转化和字段格式化
  • Object to XML mapping functionality (OXM) moved from Spring Web Services project
  • 全面的 REST 支持
  • @MVC additions
  • 声明式模型验证(Declarative model validation)
  • Early support for Java EE 6
  • Embedded database support(HSQL, H2, and Derby)

更多请看Spring-3.0

4.X

  • get start对新人友好
  • 移除deprecated包和方法
  • java 8
  • java EE 6和7
  • Groovy bean definition DSL
  • Core Container的提升
  • @RestController @ReseponseBody
  • AsyncRestTemplate class的添加,支持non-blocking 异步
  • spring-websocket 模块的引入,支持websocket
  • spring-messaging 模块 支持STOMP
  • 测试提升
    • spring-test 模块包含几乎所有的新的注解,(@ContextConfiguration, @WebAppConfiguration,@ContextHierarchy, @ActiveProfiles

更多请看spring-4.0

5.X

目前版本是5.3
5.X正在开发中,具体可看what's new in spring 5.x

结束

接下来准备看看spring 0.9的源码

posted @ 2020-06-28 17:25  Bluto  阅读(325)  评论(2编辑  收藏  举报