Spring从2.5版本开始有了重大的改变,其中最有意义的改变在于注解驱动开发(使用注解配置Spring,更加简单,灵活)
- 使用@AutoWired实现基于注解驱动的依赖注入和使用@Qualifier实现细密度的自动装配(auto-wiring)机制
- 支持JSR-250注解,包括支持命名资源依赖注入的@Resource ,以及对生命周期方法支持的@PostConstruct和@PreDestory
- 自动扫描使用@Component注解(或其他构造注解)锁标注的Spring组件
- 一个全新的基于注解驱动的Spring MVC编程模型,极大简化了Spring Web开发
- 基于JUnit4和注解的一个新的集成测试框架
- 完全支持Java6和Java EE5,涵盖JDBC 4.0,JTA 1.1,JavaMail 1.4和JAX-WS 2.0
- 通过Bean的名字来编织切面的新的Bean命名切入点表达式
- 内嵌支持AspectJ的类加载器织入
- 新的XML命名空间,包括配置应用上下文细节的context命名空间和配置消息驱动Bean的jms命名空间
- 支持在SqlJdbcTemplate中使用命名参数
Spring3.0新特性
- Spring MVC全面支持Rest,Spring控制器响应REST风格的URL并返回XML, JSON, RSS或者其他适应的响应
- 新的表达式语言把Spring的依赖注入带到了一个新的高度,允许注入各种来源,包含其他Bean和系统属性
- Spring MVC新的注解,包含@CookieValue和@RequestHeader,分别从Cookie和请求头中获取值
- 一个新的XML命名空间,用来减少Spring MVC配置
- 支持基于JSR-302注解的声明试校验
- 支持新的JSR-330依赖注入规范
- 通过注解驱动声明异步和调度方法
- 一个新的注解驱动的配置模型,几乎可以避免使用XML进行Spring配置
- Spring Web Service项目的OXM功能已被迁移到Spring框架核心
Spring框架自带的多种XML命名空间,通过这些命名空间可以配置Spring容器
命名空间 | 用途 |
aop | 为声明切面以及将@AspectJ注解的类代理为Spring切面提供了配置元素 |
beans | 支持声明Bean和装配Bean,是Spring最核心也是最原始的命名空间 |
context | 为配置Spring应用上下文提供了配置元素,包括自动检测和自动装配Bean,注入非Springzhujie |
jee | 提供了与Java EE API的集成,例如JNDI和EJB |
jms | 为声明消息驱动的POJO提供了配置元素 |
lang | 支持配置由Groovy, JRuby,货BeanShell等脚本实现的Bean |
mvc | 启用Spring MVC的能力,例如面向注解的控制器,视图控制器和拦截器 |
oxm | 支持Spring的对象到XML映射配置 |
tx | 提供声明试事务配置 |
util | 提供各种各样的工具类元素,包括把集合配置为Bean,支持属性占位符元素 |