JDK 1.8的java.util.Optional现在支持@RequestParam, @RequestHeader和@MatrixVariable控制器方法的参数。
ListenableFuture作为返回值替代了DeferredResult,在这方面一项基础服务(或者说对AsyncRestTemplate的调用)已经返回了ListenableFuture。
@ModelAttribute方法现在按照依赖间的顺序依次被调用。
Jackson的@JsonView直接作用于@ResponseBody和ResponseEntity控制器方法,用于序列化同一个POJO的不同形式(比如,汇总和详情)。这可以通过为模型属性添加指定key的序列化视图类型来渲染视图。参考Jackson序列化视图支持。
Jackson现在支持JSONP。参考Jackson JSONP支持。
新的生命周期选项可用于在控制器方法返回后且响应写出前拦截@ResponseBody和ResponseEntity方法,声明一个@ControllerAdvice bean实现ResponseBodyAdvice即可,内置的@JsonView和JSONP恰恰利用了这点。参考21.4.1 使用HandlerInterceptor拦截请求。
有三个HttpMessageConverter选项:
Gson——比Jackson更轻的足迹,已用于Spring Android中。
Google协议缓冲——企业内部有效的服务间通信数据协议,但是也可以作为JSON和XML暴露于浏览器中。
通过jackson-dataformat-xml扩展支持基于XML的Jackson。当使用@EnableWebMvc或
支持SockJS(Java)客户端。参考SockJsClient和同包下的类。
当STOMP客户端订阅和取消订阅时新的应用上下文事件SessionSubscribeEvent和SessionUnsubscribeEvent会被触发。
新的作用域“websocket”。参考25.4.14 WebSocket作用域。
@SendToUser只能把单会话作为目标,而且不需要用户身份验证。
@MessageMapping方法可以使用点“.”代替斜杠“/”作为分割符。参考SPR-11660。
STOMP/WebSocket监测信息收集和日志管理。参考25.4.16 运行时监测。
得到极大优化和改进的日志管理保留了可读性和简洁性,甚至是在DEBU平。
优化了消息的创建,包含了对临时消息可变性的支持,并避免自动消息id和时间戳的创建。参考Javadoc中的MessageHeaderAccessor。
在WebSocket会话创建60秒后没有活动则将会关闭STOMP/WebSocket连接。参考SPR-11884。
Groovy脚本现在可用于配置ApplicationContext,其中ApplicationContext在测试上下文框架中被加载用于集成测试。参考带有Groovy脚本的上下文配置。
在事务测试方法中可以通过TestTransaction API编程式地开始和结束测试事务。参考编程式事务管理。
SQL脚本执行可以通过在每个类或方法上添加新的@Sql和@SqlConfig注解声明式地配置。参考14.5.7执行SQL脚本。
可以通过新的@TestPropertySource注解配置用于测试的property源文件,它能够自动地重写系统和应用的property源文件。参考带有测试property源文件的上下文配置。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-68644-10.html
露出一个明白人的xx