Spring之3.1新增特性

197 阅读2分钟

「这是我参与2022首次更文挑战的第9天,活动详情查看:2022首次更文挑战

前言:前面我们说了Spring中Bean的加载,AOP一件IOC模式,今天我们来说一下Spring升级到3.1时所附加的新特性。

特性阅览:

  1. 为了解决各种环境下(如开发、测试和生产)选择不同配置的问题,Spring3.1引入了环境profile功能。借助于profile,就能根据应用部署在什么环境之中选择不同的数据源Bean。
# 环境配置 dev|test|prod
spring:
  profiles:
    active: dev
  aop:
    proxy-target-class: true

以上则是在yaml文件中对于开发环境,生产环境,测试环境的指定,目前用的是开发环境(dev)

  1. 在Spring3.0基于java的配置之上,Spring3.1添加了多个enable注解,这样就能使用这个注解启用Spring的也定功能,此项功能在SpringCloud中被广泛运用列如:@EnableEurekaServer、@EnableAsync、@EnableScheduling等。
  2. 添加了Spring对声明式缓存的支持,能够使用简单的注解声明缓存边界和规则,这与之前声明事务边界很相似。
  3. 新增了用于构造器注入的C命名空间,它类似于Spring2.0所提供的面向属性的p命名空间用于属性注入,他们都是非常简洁易用的。
  4. Spring开始支持Servlet3.0,包含在基于Java的配置中声明Servlet和Filter,而不在借助于web.xml。
  5. 改善Spring对JPA的支持,使得它能够在Spring中完整地配置JPA,不必在使用persistence.xml文件的引入。

此外Spring3.1的更新内容还针对SpringMVC的功能增强

  • 自动绑路径变量到模型属性中。
  • 提供了@RequestMappingproduces和consumes属性,用于匹配请求中的Accept和Content-Type的头部信息。
  • 提供了@RequestPart注解,用于将multipart请求中的某些部分绑定到处理器的方法参数中。
  • 支持flash属性(在redirect请求之后依然能够存活的属性)以及用于请求间存放flash属性的RedirectAttributes类型。

总结:Spring3.1版本使开发上变得更加的灵活,对SpringMVC也有着重大的将强,此次的升级内容弄也被我们大家广泛的运用。