详解Spring3.x 升级至 Spring4.x的方法
1 升级依赖包
1.1 Maven 项目
1.1.1 更新 spring 依赖版本
打开 pom.xml,把所有 spring3.x 的版本号更新为 spring4.x。建议使用属性配置,形如:
<properties> <spring.version>4.3.16.RELEASE</spring.version> </properties>
这样就仅需一处升级即可,引用方式如下:
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> ...
1.1.2 升级 quartz
quartz 1.x 升级为 quartz 2.x:
<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.3.0</version> </dependency>
quartz 配置文件中的 org.springframework.scheduling.quartz.CronTriggerBean
改为 org.springframework.scheduling.quartz.CronTriggerFactoryBean
1.1.3 升级 jackson
jackson 版本升级为 2.9.4:
<jackson.version>2.9.4</jackson.version>
1.2 非 Maven 项目
非 Maven 的项目,要更新为 Spring4.x,过程比较痛苦,因为需要手动把相应的 JAR 包替换掉。
下面贴出可能涉及到、需要被替换掉的 JAR 包:
quartz 相关
jackson 相关
Spring 相关
2 替换 spring jdbc 的 queryForInt 方法
queryForInt 方法已被弃用,请改为 queryForObject 方法:
queryForObject(String sql, Map<String, ?> paramMap, Class<T> requiredType)
int count=namedParameterJdbcTemplate.queryForObject(sql,params, Integer.class);
3 SpringMVC 返回 JSON 格式
原来在 Spring3 中默认会返回 JSON 格式,然而在 Spring4 中可能会默认返回 XML 格式:
响应消息格式
如果这里的响应消息格式变为 application/xml;charset=UTF-8,那么可以在 Controller 中的 @RequestMapping
中加入 produces = "application/json"
,明确指定返回 JSON 格式。
示例:
@RequestMapping(value = "/login", method = RequestMethod.POST, produces = "application/json")
4 更新 XML 配置文件中的 xsd 版本号
把格式为 http://www.springframework.org/schema/xxx/spring-xxx-3.0.xsd
更改为 http://www.springframework.org/schema/xxx/spring-xxx-4.0.xsd
,如果有的话。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
详解在Spring3中使用注解(@Scheduled)创建计划任务
Spring3中加强了注解的使用,其中计划任务也得到了增强,现在创建一个计划任务只需要两步就完成了: 创建一个Java类,添加一个无参无返回值的方法,在方法上用@Scheduled注解修饰一下: 在Spring配置文件中添加三个<task:**** />节点: 最后说明一下,第一步创建的Java类要成为spring可管理的Bean,可以直接写在XML里,也可以@Component一下 示例如下 计划任务类: /** * com.zywang.spring.task.SpringTaskDemo
-
struts2.2.3+spring3.1.0+mybatis3.1.0框架整合集成简单demo
近期公司要开发新的项目,要用struts2+mybatis+spring框架,所以学习了下,来自己的博客发表下,希望能给大家带来帮助! 主要实现用户的增删改查操作 1.导入相应的jar包 2.配置web.xml主要是配置struts2和spring web.xml文件内容如下: <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="ht
-
Spring3.0配置多个事务管理器的方法
Spring3.0配置多个事务管理器(即操作多个数据源)的方法 大多数项目只需要一个事务管理器.然而,有些项目为了提高效率.或者有多个完全不同又不相干的数据源,最好用多个事务管理器.机智的Spring的Transactional管理已经考虑到了这一点,首先分别定义多个transactional manager,并为qualifier属性指定不同的值:然后在需要使用@Transactional注解的时候指定TransactionManager的qualifier属性值或者直接使用bean名称.配置
-
Spring3.1.1+MyBatis3.1.1的增、删、查、改以及分页和事务管理
1. [代码]Mybatis全局配置文件 <plugins> < plugin interceptor = "com.has.core.page.PaginationInterceptor" /> </plugins> 2. [文件] PaginationInterceptor.java @Intercepts ({ @Signature (type = StatementHandler. class , method = "prepare
-
详解使用Spring3 实现用户登录以及权限认证
使用Spring3 实现用户登录以及权限认证 这里我就简单介绍一下,我在实现的时候处理的一些主要的实现. 1.用户登录 <form action="loginAction.do" method="post"> <div class="header"> <h2 class="logo png"></h2> </div> <ul> <li><
-
关于Spring3 + Mybatis3整合时多数据源动态切换的问题
以前的项目经历中,基本上都是spring + hibernate + Spring JDBC这种组合用的多.至于MyBatis,也就这个项目才开始试用,闲话不多说,进入正题. 以前的这种框架组合中,动态数据源切换可谓已经非常成熟了,网上也有非常多的博客介绍,都是继承AbstractRoutingDataSource,重写determineCurrentLookupKey()方法.具体做法就不在此废话了. 所以当项目中碰到这个问题,我几乎想都没有想,就采用了这种做法,但是一测试,一点反应都没有.当
-
Spring3 整合MyBatis3 配置多数据源动态选择SqlSessionFactory详细教程
一.摘要 这篇文章将介绍Spring整合Mybatis 如何完成SqlSessionFactory的动态切换的.并且会简单的介绍下MyBatis整合Spring中的官方的相关代码. Spring整合MyBatis切换SqlSessionFactory有两种方法 第一. 继承SqlSessionDaoSupport,重写获取SqlSessionFactory的方法. 第二.继承SqlSessionTemplate 重写getSqlSessionFactory.getConfiguration和Sq
-
Spring3 MVC请求参数获取的几种方法小结
Spring3 MVC请求参数获取的几种方法 一.通过@PathVariabl获取路径中的参数 @RequestMapping(value="user/{id}/{name}",method=RequestMethod.GET) public String printMessage1(@PathVariable String id,@PathVariable String name, ModelMap model) { System.out.println(id); System.ou
-
浅谈SpringMVC+Spring3+Hibernate4开发环境搭建
早期的项目比较简单,多是用JSP .Servlet + JDBC 直接搞定,后来使用 Struts1(Struts2)+Spring+Hibernate, 严格按照分层概念驱动项目开发,这次又使用 Spring MVC取代Struts来进行开发. MVC已经是现代Web开发中的一个很重要的部分,下面介绍一下SpringMVC+Spring3+Hibernate4的开发环境搭建 先大致看一下项目结构: 具体的代码不再演示,主要是走了一个很平常的路线,mvc-servcie-dao-hibernat
-
详解Spring3.x 升级至 Spring4.x的方法
1 升级依赖包 1.1 Maven 项目 1.1.1 更新 spring 依赖版本 打开 pom.xml,把所有 spring3.x 的版本号更新为 spring4.x.建议使用属性配置,形如: <properties> <spring.version>4.3.16.RELEASE</spring.version> </properties> 这样就仅需一处升级即可,引用方式如下: <dependency> <groupId>org.
-
详解Swift model 解析的两种方法
详解Swift model 解析的两种方法 1. 常规解析方法 //懒加载声明一个LJNewsModel为数据的数组 lazy var ljArray : [LJNewsModel] = [LJNewsModel]() //MARK:-- 数据获取和解析 extension NewsViewController{ func requestNetData(){ /* 打印json数据 */ LJDownLoadNetImage.request("GET", url: "http
-
详解PHP处理字符串类似indexof的方法函数
详解PHP处理字符串类似indexof的方法函数 在PHP中处理字符串类似 indexof 的函数或方法有两个,它们是 strpos 函数和 stripos 函数,这两个函数的用法类似. strpos 函数处理字符串时如果包含该字符串,则返回该字符串出现的第一次出现的位置,如果没有出现则返回 false.对字符串大小写敏感. stripos 函数处理字符串时如果包含该字符串,则返回该字符串出现的第一次出现的位置,如果没有出现则返回 false.对字符串大小写不敏感. PHP strpos() 函
-
详解Spring mvc ant path的使用方法
详解Spring mvc ant path的使用方法 概要: 任何一个WEB都需要解决URL与请求处理器之间的映射,spring MVC也是一样,但Spring MVC就像Spring所作的一切一样(灵活,可以配置各种东西,但是也造成了很多复杂性),肯定不会只有一种方法来映射URL和 Controller之间的关系,并且在实际上,允许你自己创建映射规则和实现,而不仅仅依赖URL映射. 1.Spring path match Spring MVC中的路径匹配要比标准的web.xml要灵活的多.默认
-
详解Java注解的实现与使用方法
详解Java注解的实现与使用方法 Java注解是java5版本发布的,其作用就是节省配置文件,增强代码可读性.在如今各种框架及开发中非常常见,特此说明一下. 如何创建一个注解 每一个自定义的注解都由四个元注解组成,这四个元注解由java本身提供: @Target(ElementType.**) 这是一个枚举,它置顶是该自定义的注解使用的地方,像类.变量.方法等 @Retention(RetentionPolicy.**)作用是标明注解保存在什么级别,像在编译时.class文件中,vm运行中 @D
-
详解Android使用@hide的API的方法
详解Android使用@hide的API的方法 今天早上想修改MediaPlaybackService.Java(/packages/apps/Music)的代码. 将AudioManager.STREAM_MUSIC改成AudioManager.STREAM_TTS. 发现AudioSystem.java(/frameworks/base.media/java/Android/media) /* @hide The audio stream for text to speech (TTS) *
-
详解linux 定时任务 crontabs 安装及使用方法
安装 crontab yum install crontabs centos7 自带了我没有手动去装 启动/关闭 service crond start // 启动服务service crond stop // 关闭服务service crond restart // 重启服务service crond reload // 重新载入配置 查看 crontab 服务是否已设置为开机启动 systemctl list-unit-files | grep enable | grep crond 将 c
-
详解在Angular4中使用ng2-baidu-map的方法
一.引言 之前在Angular4使用过百度地图,记录一下踩过的坑 二.实现 1.安装 npm install angular2-baidu-map 2.在app.module.ts配置 ak key在http://lbsyun.baidu.com/apiconsole/key中创建 import { BrowserModule } from '@angular/platform-browser' import { NgModule } from '@angular/core' import {
-
详解易语言的程序的输入方法概念
为了便于输入程序,易语言内置四种名称输入法:首拼.全拼.双拼.英文.三种拼音输入法均支持南方音及多音字.首拼输入法及全拼输入法在系统中被合并为"首拼及全拼输入法",系统自动判别所输入的拼音是首拼方式还是全拼方式.双拼输入法的编码规则与 Windows 系统所提供的双拼输入法一致.例如:欲输入"取整 (1.23)"语句,各种输入法的输入文本为: ・ 首拼及全拼输入法: qz(1.23) 或者 quzheng(1.23) ・ 双拼输入法: quvg(1.23) ・ 英文
-
详解pandas绘制矩阵散点图(scatter_matrix)的方法
使用散点图矩阵图,可以两两发现特征之间的联系 pd.plotting.scatter_matrix(frame, alpha=0.5, c,figsize=None, ax=None, diagonal='hist', marker='.', density_kwds=None,hist_kwds=None, range_padding=0.05, **kwds) 1.frame,pandas dataframe对象 2.alpha, 图像透明度,一般取(0,1] 3.figsize,以英寸为单
随机推荐
- jQuery中even选择器的定义和用法
- 现代 JavaScript 参考
- Windows控制面板命令大全
- ThinkPHP表单令牌错误的相关解决方法分析
- javascript一段创建层的代码
- Delphi实现树型结构具体实例
- LINUX 生产环境搭建推荐教程
- N点主机管理系统的重装步骤(图文)
- sqlserver 自动备份所有数据库的SQL
- 用Oracle并行查询发挥多CPU的威力
- javascript 有趣而诡异的数组
- JS在IE和FF下attachEvent,addEventListener学习笔记
- WINDOWS 2008 r2 远程桌面账户登录限制(一个帐户两个人使用)
- Java注解实现动态数据源切换的实例代码
- Java中多线程同步类 CountDownLatch
- JS中如何判断传过来的JSON数据中是否存在某字段
- PHP+ajax分页实例简析
- Android 仿摩拜单车共享单车进度条实现StepView效果
- Android如何实现非本地图片的点击态
- python 设置文件编码格式的实现方法