Spring 3 的核心容器(ApplicationContext)内置类型转换服务(`ConversionService`),支持自动转换 Bean 属性值、方法参数

Spring 框架发展历程全解析

一、起源与核心阶段(2002-2006年)

1. 框架诞生(2002年)

  • 背景:Rod Johnson 在其著作《Expert One-On-One J2EE Design and Development》中批判传统 J2EE 开发的复杂性(如 EJB 笨重、依赖容器等),提出“轻量级容器”理念。
  • 关键动作:基于书中示例代码开发出 Spring 框架原型,核心目标是通过 依赖注入(DI)面向切面编程(AOP) 简化企业级开发。

2. Spring 1.x 正式发布(2004-2006年)

  • Spring 1.0(2004年)
    • 首次公开版本,核心模块包括 Core(IoC 容器)Context(上下文)AOP(切面编程)
    • 提出 POJO(普通 Java 对象)编程模型,替代 EJB 组件,降低对特定容器的依赖。
  • Spring 1.2(2006年)
    • 增强对 事务管理(声明式事务)和 数据访问(如 JDBC 抽象层)的支持,引入 TransactionTemplate 简化编程式事务。
    • 开始集成第三方框架(如 Hibernate、Struts),推动“一站式整合”理念。

二、快速扩展与模块化阶段(2007-2012年)

1. Spring 2.x:功能扩展(2007-2009年)

  • Spring 2.0(2007年)
    • 引入 基于 XML 的 AOP 配置简化语法(如 aop:config 标签),降低切面编程门槛。
    • 支持 注解驱动开发(如 @Repository@Service),但 XML 仍为主要配置方式。
  • Spring 2.5(2008年)
    • 全面支持 Java 5 新特性(泛型、枚举、自动装箱),简化泛型在容器中的使用。
    • 推出 基于注解的声明式事务@Transactional),减少 XML 配置量。

2. Spring 3.x:现代化奠基(2010-2012年)

  • Spring 3.0(2010年)
    • 首次支持 Java 6,引入 基于 Java 的配置类@Configuration + @Bean),开启“零 XML 配置”时代。
    • 新增 REST 支持@Controller + @RequestMapping),推动 Spring MVC 成为主流 Web 框架。
    • 核心模块升级:
      • 表达式语言(SpEL) 替代部分 XML 逻辑,如 @Value("#{systemProperties['user.name']}")
      • 类型转换与验证模块ConversionService + JSR-303 集成)增强数据处理能力。
  • Spring 3.2(2012年)
    • 简化 MVC 静态资源处理mvc:resources),支持 Servlet 3.0 异步请求(DeferredResult)。

三、云原生与微服务转型阶段(2013-2017年)

1. Spring 4.x:拥抱互联网技术(2013-2016年)

  • Spring 4.0(2013年)
    • 全面支持 Java 8(Lambda 表达式、Stream API),优化代码简洁性(如 @FunctionalIn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bol5261

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值