阅读更多

5顶
1踩

编程语言

转载新闻 Spring 4.3 的新功能和增强

2016-06-21 16:59 by 副主编 mengyidan1988 评论(1) 有17723人浏览
本文来自:开源中国
摘要
本文介绍了 Spring 4.3 的新功能和增强的特性。

核心容器改进
  • 核心容器额外提供了更丰富的元数据来改进编程。
  • 默认 Java 8 的方法检测为 bean 属性的 getter/setter 方法。
  • 如果目标 bean 只定义了一个构造函数,则它无需要指定@Autowired注解
  • @Configuration类支持构造函数注入。
  • 任何 SpEL 表达式用于指定@EventListener的 condition 引用到 bean(例如@beanName.method())。
  • 组成注解现在可以用一个包含元注解中的数组属性的数组组件类型的元素来覆盖。例如,@RequestMapping的的String[] path 可以在组成注解用 String path 覆盖。
  • @Scheduled和@Schedules现在是作为元注解用来通过属性覆盖来创建自定义的组成注解。
  • @Scheduled适当支持任何范围内的 bean。

数据访问改进
  • jdbc:initialize-database 和 jdbc:embedded-database 支持可配置的分离器被应用到每个脚本。

缓存改进

Spring 4.3 允许在一个给定的 key 并发调用时实现要同步,使得相应的值只计算一次。这是一个可选的功能,通过设置@Cacheable的新的 sync 属性来启用。此功能引入了Cache接口的一个重大更改,即get(Object key, Callable<T> valueLoader)方法已添加。
Spring 4.3 还改进了缓存抽象如下:
  • SpEL 表达式对于缓存相关的注解,现在可以引用 bean(即@beanName.method()))。
  • ConcurrentMapCacheManager和ConcurrentMapCache现在通过一个新的storeByValue属性支持缓存实体的序列化。 @Cacheable,@CacheEvict,@CachePut和@Caching现在是作为元注解用来通过属性覆盖来创建自定义的组成注解。

JMS 改进
  • @SendTo现在可以在类级别指定一个共同回复目标。
  • @JmsListener 和 @JmsListeners现在是作为元注解用来通过属性覆盖来创建自定义的组成注解。

Web 改进
  • 内建支持HTTP HEAD 和 HTTP OPTIONS
  • 新的组合注解 @GetMapping, @PostMapping, @PutMapping, @DeleteMapping, 和 @PatchMapping 用于 @RequestMapping。
  • 详见 @RequestMapping 组合变种
  • 新的@RequestScope, @SessionScope, 和 @ApplicationScope用于 web 范围的组合注解
  • Request scope, Session scope, 和 Application scope
  • 新的 @RestControllerAdvice 注解是 @ControllerAdvice 和 @ResponseBody 的语义结合
  • @ResponseStatus现在在类级别被支持,并被所有方法继承
  • 新的 @SessionAttribute 注解用于访问 session 属性 (见例子)
  • 新的 @RequestAttribute 注解用于访问请求属性 (见例子)
  • @ModelAttribute 允许通过 binding=false 来避免数据绑定(见引用)
  • 错误和自定义抛出,将被统一到 MVC 异常处理器中处理
  • HTTP 消息转换编码一致处理,包括默认 UTF-8 用于多部分文本内容
  • 静态资源处理使用配置的ContentNegotiationManager用于媒体类型计算
  • RestTemplate 和 AsyncRestTemplate 支持通过DefaultUriTemplateHandler 来实现严格的URI变量编码
  • AsyncRestTemplate支持请求拦截

WebSocket 消息改进
@SendTo和@SendToUser现在可以在类级被指定为共享共同的目的地。

测试改进
  • 为了支持 Spring TestContext Framework ,现在需要 JUnit 4.12 或者更高的版本
  • 新的SpringRunner 关联于 SpringJUnit4ClassRunner
  • 测试相关的注解,现在可以在接口上声明了。例如,基于 Java 8 的接口上使用测试接口
  • 空声明的 @ContextConfiguration 现在将会完全忽略,如果检测到默认的 XML 文件, Groovy 脚本, 或 @Configuration 类型
  • @Transactional 测试方法不再需要public (如, 在 TestNG 和 JUnit 5)
  • @BeforeTransaction 和 @AfterTransaction不再需要public,并且在 基于 Java 8 的接口的默认方法上声明
  • 在Spring TestContext Framework 的ApplicationContext的缓存现在有界为32默认最大规模和最近最少使用驱逐策略。最大的大小可以通过设置称为spring.test.context.cache.maxSize 一个 JVM 系统属性或 Spring 配置。
  • ContextCustomizer API 用于自定义测试 ApplicationContext 在 bean 定义加载到上下文后但在上下文被刷新前。定制工具可以在全球范围由第三方进行注册,而无需要实现一个自定义的 ContextLoader。
  • @Sql 和 @SqlGroup 现在作为元注解通过覆盖属性来创建自定义组合注解
  • ReflectionTestUtils现在在 set 或 get 一个字段时,会自动解开代理。
  • 服务器端的 Spring MVC 测试支持具有多个值的响应头。
  • 服务器端的 Spring MVC 测试解析表单数据的请求内容和填充请求参数。
  • 服务器端的 Spring MVC 测试支持 mock 式的断言来调用处理程序方法。
  • 客户端 REST 测试支持允许指定多少次预期的请求以及期望的声明顺序是否应该被忽略(参见15.6.3,“客户端REST测试”)。
  • 客户端 REST 测试支持请求主体表单数据的预期。

支持新的类库和服务器
  • Hibernate ORM 5.2 (同样很好的支持 4.2/4.3 和 5.0/5.1,不推荐 3.6 )
  • Jackson 2.8 (在Spring 4.3,最低至 Jackson 2.6+ )
  • OkHttp 3.x (仍然并行支持 OkHttp 2.x)
  • Netty 4.1
  • Undertow 1.4
  • Tomcat 8.5.2 以及 9.0 M6

参考引用
来自: 开源中国
5
1
评论 共 1 条 请登录后发表评论
1 楼 shutaodream 2016-07-02 18:48
赞一个,不错的分享!

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 猿学~Spring 4.3 的新功能和增强

     本文介绍了 Spring 4.3 的新功能和增强的特性。  核心容器改进 核心容器额外提供了更丰富的元数据来改进编程。 默认 Java 8 的方法检测为 bean 属性的 getter/setter 方法。 如果目标 bean 只定义了一个...

  • 4.3 JavaEE-Spring和IOC

    IOC和Aop(1)IOC:控制反转,把创建对象的过程交给Spring进行管理(2)Aop:面向切面,不修改源代码进行功能增强方便解耦,简化开发Aop变成支持方便程序测试方便和其他框架进行整合方便进行事物操作降低API开发难度...

  • Spring 4.0 新功能和增强学习

    Spring 框架第一个版本发布于 2004 年,自发布以来已历经三个主要版本更新: Spring 2.0 提供了 XML 命名空间和 AspectJ 支持;Spring 2.5 增加了注释驱动(annotation-driven)的配置支持; Spring 3.0增加了对 Java...

  • Spring 4.0 新功能和增强

    Spring 框架第一个版本发布于 2004 年,自发布以来已历经三个主要版本更新: Spring 2.0 提供了 XML 命名空间和 AspectJ 支持;Spring 2.5 增加了注释驱动(annotation-driven)的配置支持; Spring 3.0增加了对 ...

  • SpringFramework 4.3.25.RELEASE 教程文档

    一、Spring框架概述 ...正如在第一章导言中所讨论的那样,org.springframework.beans.factory包 提供了管理和操作bean的基本功能,包括以程序化的方式。这org.springframework.context包添加了ApplicationCont...

  • 第5章 Spring 4.0增强和新功能 III -- Spring4.3.8参考文档中文版

    5. Spring框架中的新功能和增强功能 III sunRainAmazing 5.1核心容器改造1、诸如@Bean使用Java 8默认方法检测和处理的注释,允许使用默认@Bean方法从接口组态配置类。 2、配置类可以@Import使用常规组件类声明,...

  • 三、Spring4的新功能和增强

    移除不推荐的包和方法所有可选的第三方依赖都已经升级到了最低2010/2011(例如Spring4 通常只支持 2010 年的最新或者现在的最新发布版本):尤其是 Hibernate 3.6+、EhCache 2.1+、Quartz 1.8+、Groovy 1.8+、Joda-Time...

  • Spring5新特性

    一.Spring FrameWork 5.0新的功能 升级到新版本的框架可以参考。Spring git。 内容列表 Spring 5.x框架新的功能 Spring 4.x框架新的功能 Spring 3.x框架新的功能 1.JDK 8+和Java EE7+以上版本 整个框架的代码基于...

  • 最新整理Spring面试题2023

    Spring面试专题整理

  • Spring实战(第4版)第4章 面向切面的Spring

    第4章 面向切面的Spring 本章内容: 面向切面编程的基本原理 通过POJO创建切面 使用@AspectJ注解 为AspectJ切面注入依赖 在编写本章时,得克萨斯州(我所居住的地方)正值盛夏,这几天正在经历创历史记录的高温...

  • Spring5的新特性以及要点

    (2)AOP:面向切面,不修改源代码进行功能增强 4.Spring特点 (1)方便解耦,简化开发 (2)AOP编程支持 (3)方便程序测试 (4)方便集成其他框架 (5)方便进行事务整合 (6)降低API开发难度 Spring5简单案列(Maven工程) ...

  • 第4章 Spring 4.0增强和新功能 II -- Spring4.3.8参考文档中文版

    4 Spring 4.1增强和新功能 II @sunRainAmazing 4.1 JMS改进Spring 4.1引入了一个更简单的基础架构,使用@JmsListener注解bean方法来注册JMS监听端点 .XML命名空间已经通过增强来支持这种新的方式(jms:annotation-...

  • Atitit spring 3.0 3.1 3.2 4.0 4.3 5.0 新特性

    Atitit spring 3.0 3.1 3.2 4.0 4.3 5.0 新特性     Spring3.0的新特性及其分析 - 我的人生不甘于平庸! - ITeye技术网站.html Spring3.0带来的新特性 - 未来之路 - 博客频道 - CSDN.NET.html Spring 3.1 ...

  • 三菱FX3G FX3S与四台E700变频器Modbus RTU通讯控制:正反转、频率设定与读取方案,三菱FX3G FX3S与四台E700变频器通讯:Modbus RTU协议实现正反转、频率设定与控制

    三菱FX3G FX3S与四台E700变频器Modbus RTU通讯控制:正反转、频率设定与读取方案,三菱FX3G FX3S与四台E700变频器通讯:Modbus RTU协议实现正反转、频率设定与控制,快速反馈与教程包含,三菱FX3G FX3S 485协议通讯四台三菱E700变频器程序资料 三菱FX3G FX3S+485bd扩展,采用modbus rtu协议,crc校验,通讯控制四台E700变频器,可以实现正反转,停止,频率的设定,频率,电流等的读取。 反馈快,使用方便,包括教程,plc和触摸屏程序,变频器参数设置和接线,别的变频器支持rtu协议也可以实现。 ,三菱FX系列PLC; 485协议通讯; 变频器E700; 通讯控制; 参数设置; 教程。,三菱PLC控制E700变频器:485协议通讯与程序设置全解

  • hyphen-nl-0.20050617-10.el7.x64-86.rpm.tar.gz

    1、文件内容:hyphen-nl-0.20050617-10.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/hyphen-nl-0.20050617-10.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、更多资源/技术支持:公众号禅静编程坊

  • 西门子S7-1200PLC结构化编程在5轴伺服项目中的应用:模块化设计、触摸屏控制及电气图纸实战解析,西门子S7-1200PLC结构化编程实现多轴联动与多种伺服功能应用:CAD图纸、PLC程序和触摸屏

    西门子S7-1200PLC结构化编程在5轴伺服项目中的应用:模块化设计、触摸屏控制及电气图纸实战解析,西门子S7-1200PLC结构化编程实现多轴联动与多种伺服功能应用:CAD图纸、PLC程序和触摸屏程序协同运作。,西门子S7-1200PLC结构化编程5轴伺服项目 ,包含plc程序、威纶通触摸屏程序、cad电气图纸。 可以实现以下功能,规格有: 1.三轴机械手X轴-Y轴-Z轴联动取放料PTO脉冲定位控制台达B2伺服 2.台达伺服速度模式应用+扭矩模式应用实现收放卷 3.程序为结构化编程,每一功能为模块化设计,功能:自动_手动_单步_暂停后原位置继续运行_轴断电保持_报警功能_气缸运行及报警. 4.每个功能块可以无数次重复调用,可以建成库,用时调出即可 5.上位机采样威纶通触摸屏 6.参考本案例熟悉掌握结构化编程技巧,扩展逻辑思维。 博图14以上都可以打开 ,核心关键词:西门子S7-1200PLC; 结构化编程; 5轴伺服项目; PLC程序; 威纶通触摸屏程序; CAD电气图纸; 三轴机械手; PTO脉冲定位控制; 台达B2伺服; 速度模式应用; 扭矩模式应用; 模块化设计; 轴断电保

  • 情感分析算法的关键应用领域与典型实战案例

    情感分析算法在多个领域有着广泛的应用场景和丰富的案例

  • 基于MATLAB仿真的MMC整流站与逆变站柔性互联技术研究:快速工况仿真与环流抑制控制,基于MATLAB仿真的MMC整流站与逆变站运行分析及四端柔性互联工况仿真模拟研究,21电平MMC整流站、MMC逆

    基于MATLAB仿真的MMC整流站与逆变站柔性互联技术研究:快速工况仿真与环流抑制控制,基于MATLAB仿真的MMC整流站与逆变站运行分析及四端柔性互联工况仿真模拟研究,21电平MMC整流站、MMC逆变站、两端柔性互联的MATLAB仿真模型,4端柔性互联、MMC桥臂平均值模型、MMC聚合模型(四端21电平一分钟即能完成2s的工况仿真) 1-全部能正常运行,图四和图五为仿真波形 2-双闭环控制,逆变站PQ控制,整流站站Udc Q控制 3-最近电平逼近调制+子模块电容充电 4-环流抑制控制 ,1. 21电平MMC整流站; 2. MMC逆变站; 3. MATLAB仿真模型; 4. 两端柔性互联; 5. 桥臂平均值模型; 6. 聚合模型; 7. 双闭环控制; 8. 最近电平逼近调制; 9. 子模块电容充电; 10. 环流抑制控制。,基于柔性互联的MMC系统仿真模型:多电平控制与环流抑制研究

  • 有效应对网络舆情教育培训PPT.pptx

    有效应对网络舆情教育培训PPT.pptx

Global site tag (gtag.js) - Google Analytics