Spring各版本新特性的介绍

Spring各个版本新特性

Spring3.1新特性

  • 1.添加了引入环境profile功能
  • 2.添加了@enable注解,使用特定功能
  • 3.添加了对声明式缓存的支持,能够使用简单的注解声明缓存边界和规则
  • 4.添加的用于构造器注入的c命名空间,类似与Spring2的p命名空间,用于对应属性注入
  • 5.开始支持Servlet3.0,包括基于java配置中生命Servlet和Filter,不再只仅仅借助web.xml
  • 6.改善对于JPA的支持,让JPA能在Spring中完整配置JPA,不必再使用persistence.xml文件
  • 7.自动绑定路径变量到模型属性中
  • 8.提供了@RequestMappingProduces和consumes属性,用于匹配请求中的Accept和Content-Type头部信息
  • 9.提供了@RequestPart注解,用于将Multipart请求中的而某些部分绑定到处理器的方法参数中
  • 10.持Flash属性,在redirect请求后依然能够存活的属性,flash属性的RedirectAttribute类型
  • 11.为支持原生的EntityManager,Spring的JpaTemplate和JpaDaoSupport类已被废弃了来支持JPA 2.0,并在spring4中移除了

Spring3.2版本

  • 1.@Autowired.@Value和@Bean注解能够作为元注解,用于创建自定义的注入和bean声明注解
  • 2.@DateTimeFormat注解不再依赖JodaTime.如果提供了JodaTime,就会使用它,否则的话,会使用SimpleDateFormat;
  • 3.Spring的声明式缓存提供了对JCache0.5的支持
  • 4.支持定义全局的格式来解析和渲染日期和时间
  • 5.在集成测试中,能够配置和加载WebApplicationContext
  • 6.在集成测试中,能够针对request和session作用域的bean进行测试

Spring4.0版本

  • 1.Spring提供了对WebSocket编程的支持,包括支持JSR-356--Java API for WebSocket
  • 2.鉴于WebSocket仅仅提供了一种低层次的API,急需高层次的抽象,因此Spring4.0在WebSocket之上提供了一个高层次的面向消息的编程模型,
  • 该模型基于SockJS,并且包含了对STOMP协议的支持
  • 3.新的消息模块,很多的类型来源于Spring Integration项目。这个消息模块支持Spring的SockJS/STOMP功能,同时提供了基于模板的方式发布消息
  • 4.Spring是第一批支持Java8特性的Java框架,比如它所支持的lambda表达式,别的暂且不说,这首先能够让使用特定的毁掉接口更加简洁,代码更加易读
  • 5.与Java8 同时得到支持的是JSR-310--Date与Time API,在处理时间和日期时,他为开发者提供了java.util.Date或java.util.Calendar更丰富的API
  • 6.为Groovy开发的应用程序提供了更加顺畅的编程体验,尤其是支持非常便利地完全采用Groovy开发Spring应用程序。随这些一起提供的是来自于Grails
  • 的BeanBuilder,借助它能够通过Groovy配置Spring应用
  • 7.添加了条件化创建bean的功能,在这里只有开发人员定义的条件满足时,才会创建所声明的bean
  • 8.Spring4.0包含了Spring RestTemplate的一个新的异步实现,它会立即返回并且允许在操作完成后执行回调
  • 9.添加了对多项JEE规范的支持,包括JMS2.0.JTA1.2.JPA2.1和Bean Validation1.1

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • mysql+spring+mybatis实现数据库读写分离的代码配置

    场景:一个读数据源一个读写数据源. 原理:借助spring的[org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource]这个抽象类实现,看名字可以了解到是一个路由数据源的东西,这个类中有一个方法 /** * Determine the current lookup key. This will typically be * implemented to check a thread-bound transaction

  • Spring配置shiro时自定义Realm中属性无法使用注解注入的解决办法

    先来看问题 纠结了几个小时终于找到了问题所在,因为shiro的realm属于Filter,简单说就是初始化realm时,spring还未加载相关业务Bean,那么解决办法就是将springmvc的配置文件加载提前. 解决办法 打开web.xml文件 OK,问题解决! 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持.如果你想了解更多相关内容请查看下面相关链接

  • Spring加载配置和读取多个Properties文件的讲解

    一个系统中通常会存在如下一些以Properties形式存在的配置文件 1.数据库配置文件demo-db.properties: database.url=jdbc:mysql://localhost/smaple database.driver=com.mysql.jdbc.Driver database.user=root database.password=123 2.消息服务配置文件demo-mq.properties: #congfig of ActiveMQ mq.java.namin

  • SpringBoot深入理解之内置web容器及配置的总结

    前言 在学会基本运用SpringBoot同时,想必搭过SSH.SSM等开发框架的小伙伴都有疑惑,SpringBoot在spring的基础上做了些什么,使得使用SpringBoot搭建开发框架能如此简单,便捷,快速.本系列文章记录网罗博客.分析源码.结合微薄经验后的总结,以便日后翻阅自省. 正文 使用SpringBoot时,首先引人注意的便是其启动方式,我们熟知的web项目都是需要部署到服务容器上,例如tomcat.weblogic.widefly(以前叫JBoss),然后启动web容器真正运行我

  • Spring Boot中使用Spring-data-jpa的配置方法详解

    为了解决这些大量枯燥的数据操作语句,我们第一个想到的是使用ORM框架,比如:hibernate.通过整合Hibernate之后,我们以操作Java实体的方式最终将数据改变映射到数据库表中. 为了解决抽象各个Java实体基本的"增删改查"操作,我们通常会以泛型的方式封装一个模板Dao来进行抽象简化,但是这样依然不是很方便,我们需要针对每个实体编写一个继承自泛型模板Dao的接口,再编写该接口的实现.虽然一些基础的数据访问已经可以得到很好的复用,但是在代码结构上针对每个实体都会有一堆Dao的

  • SpringBoot整个启动过程的分析

    前言 前一篇分析了SpringBoot如何启动以及内置web容器,这篇我们一起看一下SpringBoot的整个启动过程,废话不多说,正文开始. 正文 一.SpringBoot的启动类是**application,以注解@SpringBootApplication注明. @SpringBootApplication public class CmsApplication { public static void main(String[] args) { SpringApplication.run

  • Spring集成jedis的配置与使用简单实例

    jedis是redis的java客户端,spring将redis连接池作为一个bean配置. redis连接池分为两种,一种是"redis.clients.jedis.ShardedJedisPool",这是基于hash算法的一种分布式集群redis客户端连接池. 另一种是"redis.clients.jedis.JedisPool",这是单机环境适用的redis连接池. maven导入相关包: <!-- redis依赖包 --> <depende

  • Spring线程池ThreadPoolExecutor配置并且得到任务执行的结果

    用ThreadPoolExecutor的时候,又想知道被执行的任务的执行情况,这时就可以用FutureTask. ThreadPoolTask package com.paul.threadPool; import java.io.Serializable; import java.util.concurrent.Callable; public class ThreadPoolTask implements Callable<String>, Serializable { private s

  • SpringBoot集成shiro,MyRealm中无法@Autowired注入Service的问题

    网上说了很多诸如是Spring加载顺序,shiroFilter在Spring自动装配bean之前的问题,其实也有可能忽略如下低级错误. 在ShiroConfiguration中要使用@Bean在ApplicationContext注入MyRealm,不能直接new对象. 道理和Controller中调用Service一样,都要是SpringBean,不能自己new. 错误方式: @Bean(name = "securityManager") public SecurityManager

  • Spring框架十一种常见异常的解决方法汇总

    在程序员生涯当中,提到最多的应该就是SSH三大框架了.作为第一大框架的Spring框架,我们经常使用. 然而在使用过程中,遇到过很多的常见异常,我在这里总结一下,大家共勉. 一.找不到配置文件的异常 org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [com/herman/ss/controller];

随机推荐