Spring 4.3 的新功能和增强

  • 时间:
  • 浏览:0
  • 来源:5分3D-5分6合平台_5分6合网投平台

核心容器修改

核心容器额外提供了更丰厚的元数据来修改编程。

默认 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, CallablevalueLoader)土土办法已加在。 

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

参考引用 

中文的 《Spring Framework 4.x参考文档》

公告:登录后可获得专属推广链接,一些用户通过此链接下载,你可获得分成奖励。

*** 提醒:不可能 下载失败,请联系客服退款。 客服QQ:4431261008。***

*** 临近春节假期,客服如无提前大选,春节假期后统一正确处理,请谅解。***