一、Spring历次版本主要特性概览:
spring1.0:2004年发布
spring2.0: 2006年发布,提供了XML命名空间和AspectJ支持
spring2.5: 2007年发布,支持注解驱动配置
spring3.0: 基于Java5,引入Java5+的很多功能和特性,例如基于Java的@Configuration配置
spring4.0: 支持Java8,最低支持Java6.
二、Spring3.x新特性简要描述:
- J2EE1.4和JavaEE5的支持
- 支持Java5带来的新特性:泛型、可变长参数列表、注解、java.util.concurrent包等。TaskExecutor基于concurrent包做了更新:支持Callables, Futures, ExecutorService, ThreadFactory等,新增@Async注解支持异步方法调用。
- jar包模块化,拆分成aop、beans、context、jdbc、web等等
- Spring EL表达式
- @Configuration、@Bean、@DependsOn、@Primary、@Lazy、@Import、@Value等注解的支持
三、spring4.x新特性简要描述:
- 第三方依赖要求2010年以后的版本,例如Hibernate3.6+,EhCache2.1+,Quartz1.8+等。
- 可以使用Java8的lambda表达式,方法引用,java.time包,以及@Repeatable注解等新特性
- 要求JavaEE6+,即JPA2.0, Servlet3.0等。也支持JavaEE7,即JMS2.0, JTA1.2, JPA2.1(Hibernate4.3)等。
- 新的@RestController注解,代替@ResponseBody + @Controller
- 支持WebSocket(spring-websocket)、SockJS、STOMP(spring-messaging)
- 支持JCache注解(JSR-107)