@Autowired注解
@Configuration类支持构造函数注入。
@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 还改进了缓存抽象如下:
@beanName.method()))。
ConcurrentMapCacheManager和
ConcurrentMapCache现在通过一个新的
storeByValue属性支持缓存实体的序列化。
@Cacheable,
@CacheEvict,
@CachePut和
@Caching现在是作为元注解用来通过属性覆盖来创建自定义的组成注解。
@SendTo现在可以在类级别指定一个共同回复目标。
@JmsListener和
@JmsListeners现在是作为元注解用来通过属性覆盖来创建自定义的组成注解。
@GetMapping,
@PostMapping,
@PutMapping,
@DeleteMapping, 和
@PatchMapping用于
@RequestMapping。
@RequestMapping组合变种
@RequestScope,
@SessionScope, 和
@ApplicationScope用于 web 范围的组合注解
@RestControllerAdvice注解是
@ControllerAdvice和
@ResponseBody的语义结合
@ResponseStatus现在在类级别被支持,并被所有方法继承
@SessionAttribute注解用于访问 session 属性 (见 例子 )
@RequestAttribute注解用于访问请求属性 (见 例子 )
@ModelAttribute允许通过
binding=false来避免数据绑定(见引用)
ContentNegotiationManager用于媒体类型计算
RestTemplate和
AsyncRestTemplate支持通过
DefaultUriTemplateHandler来实现严格的URI变量编码
AsyncRestTemplate支持请求拦截
@SendTo
和
@SendToUser
现在可以在类级被指定为共享共同的目的地。
SpringRunner关联于
SpringJUnit4ClassRunner
@ContextConfiguration现在将会完全忽略,如果检测到默认的 XML 文件, Groovy 脚本, 或
@Configuration类型
@Transactional测试方法不再需要
public(如, 在 TestNG 和 JUnit 5)
@BeforeTransaction和
@AfterTransaction不再需要
public,并且在 基于 Java 8 的接口的默认方法上声明
ApplicationContext的缓存现在有界为32默认最大规模和最近最少使用驱逐策略。最大的大小可以通过设置称为
spring.test.context.cache.maxSize一个 JVM 系统属性或 Spring 配置。
ContextCustomizerAPI 用于自定义测试
ApplicationContext在 bean 定义加载到上下文后但在上下文被刷新前。定制工具可以在全球范围由第三方进行注册,而无需要实现一个自定义的
ContextLoader。
@Sql和
@SqlGroup现在作为元注解通过覆盖属性来创建自定义组合注解
ReflectionTestUtils现在在 set 或 get 一个字段时,会自动解开代理。