`
zzc1684
  • 浏览: 1229244 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

Spring4.1新特性——综述

阅读更多

目录

Spring4.1新特性——综述

Spring4.1新特性——Spring核心部分及其他

Spring4.1新特性——Spring缓存框架增强

Spring4.1新特性——异步调用和事件机制的异常处理

Spring4.1新特性——数据库集成测试脚本初始化

Spring4.1新特性——Spring MVC增强

Spring4.1新特性——页面自动化测试框架Spring MVC Test HtmlUnit简介

Spring4.1新特性——静态资源处理增强

 

Spring 4.1目前已经发布RC1版本,而GA版本预计在14年9月中旬发布;其中有部分内容直接借鉴自Spring Boot,而Spring Boot从目前趋势来看已经是Spring的顶级项目;另外也提供了页面自动化测试框架Spring MVC Test HtmlUnit,和Spring MVC Test一样先是独立项目,如果发展态势很好,会最终合并到Spring Framework中。

 

从目前来看Spring 4.1并没有特别吸引眼球的地方,主要还是增强和一些依赖的版本升级。主要改进如下:

1、核心部分基本上无变化,提供了DirectFieldAccessor用于直接字段访问、yaml配置、SpEL的字节码编译化、BackOff退避算法的基本实现、Base64Utils、SmartInitializingSingleton等;

2、在任务调度和事件机制上加入了异常处理部分;

3、cache部分加入jcache的集成、类级别的@CacheConfig的支持、CacheResolver;

4、mvc部分提供了一些视图解析器的mvc标签实现 简化配置、提供了GroovyWebApplicationContext用于Groovy web集成、提供了Gson、protobuf的HttpMessageConverter、静态资源处理方面添加了resolver和 transformer、提供了对groovy-templates模板的支持、JSONP的支持、对Jackson的@JsonView的支持等;

5、提供了页面自动化测试框架Spring MVC Test HtmlUnit;

6、test部分提供了更便利的@sql标签来执行测试脚本的初始化、MockRestServiceServer对AyncRestTemplate支持、MockMvcConfigurer来全局配置MockMvc;

7、提供了对Java 8 Optional的支持(ObjectToOptionalConverter实现;可以在MVC中如@RequestParam等注解的绑定)、从 Spring 4.1起Ehcache支持需要EhCache 2.5或更高版本、兼容Quartz 2.1.4、支持javax.annotation.Priority(等价于@Order)、JMS API的增强、SpringJUnit4ClassRunner需要 JUnit 4.9或更高版本支持。

 

从目前发展来看Spring把重点放在了Spring Boot上,另一方面Spring体系太庞大,要寻找和添加依赖,及选择版本特别麻烦,而且容易产生版本冲突等,因此又诞生了Spring IO Platform,如果用过maven的话,相当于给你很多默认依赖,然后需要的时候直接添加即可,无需指定版本。

 

从如上可以看出,吸引人的新特性很少,另外目前还不稳定,API异变,功能有BUG,如果没有把控能力,不建议把新特性用于新项目,后续部分我会按照如下几部分讲解Spring4.1新特性:

Spring核心部分及其他

Spring缓存框架增强

异步调用和事件机制的异常处理

数据库集成测试脚本初始化

Spring MVC增强

页面自动化测试框架Spring MVC Test HtmlUnit简介

静态资源处理增强

 

目前给我的印象是Spring Framework已经非常庞大,基本使用还是比较简单,而且如果深入下去基本上我们需要的功能都可以进行扩展,这也是最佩服它的一点,目前给我最不好的 就是Java Config和XML Config都支持,会给人一种混乱的感觉;其实最好把这种配置也单独提取到一个项目中。因为我在测试Spring 4.1时遇到过在Java Config下好用,而XML Config下实现错误。从目前发展态势来看,1、推广它们的Groovy;2、微服务;3、周边的各种生态集成;4、目前最需要解决的就是简化使用;功 能太多造成学习成本也高了,会吓跑一些人。用好了Spring生态系统,工作起来真的是很得心应手。

 

依赖:

使用4.1.0.BUILD-SNAPSHOT,请使用Spring官方maven仓库下载依赖。

Java代码  收藏代码
  1. <repositories>  
  2.      <repository>  
  3.          <id>spring-milestone</id>  
  4.          <url>https://repo.spring.io/libs-milestone</url>  
  5.      </repository>  
  6.      <repository>  
  7.          <snapshots><enabled>true</enabled></snapshots>  
  8.          <id>repository.spring.snapshot</id>  
  9.          <name>Spring Snapshot Repository</name>  
  10.          <url>http://repo.spring.io/snapshot</url>  
  11.      </repository>  
  12.  </repositories>  

 

示例项目:

https://github.com/zhangkaitao/spring4.1-showcase  

 

Spring4新特性

Spring4新特性——泛型限定式依赖注入

Spring4新特性——核心容器的其他改进

Spring4新特性——Web开发的增强

Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC 

Spring4新特性——Groovy Bean定义DSL

Spring4新特性——更好的Java泛型操作API 

Spring4新特性——JSR310日期API的支持

Spring4新特性——注解、脚本、任务、MVC等其他特性改进 

 

参考资料

https://spring.io/blog/2014/01/14/the-spring-framework-4-1-plan-and-4-0-1-3-2-7-releases-coming-up-next-week

http://spring.io/blog/2014/06/16/further-cache-improvements-in-spring-4-1

https://spring.io/blog/2014/04/30/spring-4-1-s-upcoming-jms-improvements

http://spring.io/blog/2014/05/28/using-the-innovative-groovy-template-engine-in-spring-boot

http://spring.io/blog/2014/08/06/spring-mvc-test-htmlunit-1-0-0-m2-released

http://spring.io/blog/2014/07/28/spring-framework-4-1-spring-mvc-improvements

http://spring.io/blog/2014/07/24/spring-framework-4-1-handling-static-web-resources

http://www.slideshare.net/sbrannen/spring-framework-40-to-41(需 翻 墙)

分享到:
评论

相关推荐

    Spring4.1官方jar包完整版

    Spring4.1版本是该框架的一个重要里程碑,它引入了诸多改进和新特性,旨在提高开发效率和应用性能。在这个"Spring4.1官方jar包完整版"中,我们可以找到所有必要的组件,包括核心容器、数据访问/集成、Web、AOP(面向...

    spring4.1源码

    Spring 4.1开始全面支持Java 8的新特性,如Lambda表达式、日期和时间API等,让开发者能够充分利用Java 8的优势。 8. **Spring Boot** 虽然Spring Boot不是Spring 4.1的一部分,但4.1版本与Spring Boot的结合使得...

    spring4.1最新架包,包含参考文档等

    Spring 4.1作为其一个重要版本,引入了许多改进和新特性,旨在提升开发效率和应用程序的性能。下面将详细介绍Spring 4.1框架及其相关知识点。 1. **模块化设计** Spring框架由多个模块组成,包括核心容器、数据...

    spring 4.1 jar包

    Spring 4.1 是一个重要的Java框架版本,它在Spring框架的发展史上占据着显著的地位。这个版本提供了许多改进和新特性,旨在提升开发效率和应用性能。以下将详细阐述Spring 4.1中的核心组件和关键知识点: 1. **...

    spring4.1+mybatis+CXF最新webservice DEMO

    在本"spring4.1+mybatis+CXF最新webservice DEMO"中,这三大组件共同构建了一个完整的Web服务解决方案。Spring作为核心框架,负责管理和协调各个组件,提供依赖注入和AOP(面向切面编程)等功能。MyBatis作为数据...

    java spring4.1.x源码

    总的来说,这个"java spring4.1.x源码"压缩包是学习和研究Spring框架的宝贵资料,无论是对于初学者还是经验丰富的开发者,都能从中受益匪浅。通过深入研究源码,可以提升对Spring的理解,更好地利用Spring来构建高效...

    spring4.1 doc + jar包

    Spring 4.1版本是一个重要的里程碑,引入了许多改进和新特性,旨在提升开发效率和应用程序的性能。下面我们将深入探讨Spring 4.1版本的关键知识点。 1. **依赖注入 (Dependency Injection, DI)**: Spring的核心特性...

    过滤器 spring4.1+jdk1.8版本

    Java 8 (JDK1.8)引入了一些新特性,如Lambda表达式、Stream API等,这些可以提高过滤器的编写效率和可读性。例如,我们可以在过滤器中使用Lambda表达式来简化请求或响应的处理逻辑,或者利用Stream API对请求参数...

    spring 4.1核心包

    6. **Integration with other technologies**:Spring 4.1还加强了与其他技术的集成,如RESTful服务的支持、JSON序列化和反序列化以及对Java 8新特性的支持,如日期时间API,使得开发者可以更好地利用现有技术和新的...

    spring4-1-showcase:Spring4.1新特性

    Spring4.1新特性示例 Spring核心部分及其他 Spring缓存框架增强 初步引发和事件机制的异常处理 数据库集成测试脚本初始化 Spring MVC增强 页面自动化测试框架Spring MVC Test HtmlUnit简介 静态资源处理增强

    项目开发中Spring 4.1 用到的所有的jar

    总的来说,Spring 4.1是一个功能强大且全面的版本,它的改进和新增特性极大地提升了开发效率和应用性能。无论是在核心容器、数据访问、AOP还是Web开发方面,Spring 4.1都提供了许多实用的功能,使得Java开发者能够...

    过滤器 spring4.1+jdk1.7版本

    这意味着你可以利用JDK 1.7的一些特性,如try-with-resources语句、多线程改进等,同时享受到Spring 4.1提供的新特性和优化。 5. **jar包和实例**: 压缩包中的jar包很可能包含了Spring 4.1的核心库和其他依赖,...

    spring4.1 restful实现

    现在网上大多数关于restful的资料都是spring3,而spring4进行了一些更改,在此处上传一个基本demo供参考,由于此demo使用的IDE是intellj12,使用其它工具的将配置文件、控制器、包拷入使用即可。

    Spring4.1+SpringMVC+Mysql+Myelicpse2015项目实例

    Spring4.1版本是Spring框架的一个重要里程碑,引入了许多新特性和改进,提高了性能和易用性。 1. **依赖注入(DI)**:Spring的核心特性之一,允许开发者在运行时将对象及其依赖关系进行管理,而不是硬编码到代码中。...

    spring4.1+struts2.3+hibernate4.3+mysql驱动5.1实例整合

    本实例整合了Spring 4.1、Struts 2.3和Hibernate 4.3,以及MySQL数据库的5.1驱动,为初学者提供了一个实践平台,便于理解这些框架如何协同工作。 首先,Spring框架是一个全面的后端应用程序管理工具,它提供了依赖...

    dubbo spring4.1集成demo

    【标题】"dubbo spring4.1集成demo"是一个示例项目,展示了如何将流行的Java微服务框架Dubbo与Spring 4.1版本整合。这个项目涵盖了Dubbo 2.5.3,一个高性能、轻量级的服务治理框架,以及Zookeeper 3.4.5,一个分布式...

    spring mvc测试样例,使用spring4.1开发

    在这个测试样例中,我们看到是基于 Spring 4.1 版本的实现,这是一个较早但仍然广泛使用的版本,它包含了多项关键改进和优化。 1. **MVC架构**:Spring MVC 提供了一个灵活的MVC框架,允许开发者根据需求定制各个...

    spring4.1及其依赖jar+mybatis

    1. **Spring 4.1的关键特性**: - **Java 8支持**:Spring 4.1全面支持Java 8,包括Lambda表达式和日期/时间API的集成。 - **配置增强**:引入了`@Profile`注解,允许根据特定环境加载不同的配置类。同时,`@Bean`...

    springmvc4.1+spring4.1+mybatis3.2+spring-security3.2的maven环境搭建

    在本项目中,我们主要关注的是一个基于Spring MVC 4.1、Spring 4.1、MyBatis 3.2以及Spring Security 3.2的Maven环境的搭建过程。下面将详细介绍这些技术栈的核心概念、它们如何协同工作以及如何在实际开发环境中...

    SpringMVC+hibernate4.3+Spring4.1整合demo

    Spring4.1版本引入了许多新特性,比如支持Java 8的新特性,包括日期和时间API,改进了类型安全的依赖注入,以及对JSR-352批处理规范的支持。此外,Spring4.1还加强了对AspectJ注解的支持,使得AOP的使用更加便捷。在...

Global site tag (gtag.js) - Google Analytics