概述

由于公司决定使用spring cloud,但是公司积累了大量的普通的jsp项目,老的项目直接全部修改为springboot成本过高,周期比较长,而且公司业务正在快速拓展,所以需要把之前的老项目修改为springboot项目,特花了几天时间研究如何把老的项目修改为springboot项目,研究过程中非常坎坷,一步一坑,所以现在整理一下相关代码,希望能够对有类似需要的朋友有所帮助。

详细

写在本例子前面的一句话:

本例子的目的是为了提供一个(springweb + jsp + mybatis)转(springboot)项目的一个参考,而不是一个可以将你项目转换springboot项目的工具。

该项目基于标准的springweb + jsp + mybatis项目改版,修改之后和正常的springboot项目唯一不一样的地方就在于正常的springboot项目打成的是jar包,该项目打成的是war包,但是可以使用java - jar project.war执行,其他地方和正常的springboot项目无任何区别。把正常的项目修改为springboot项目可能刚接触的时候没什么思路,思路清晰了修改起来没有什么难度。

一、项目截图

1、需要准备什么环境

数据库使用的mysql5.5,该项目亲测可以执行成功,直接执行Application即可,端口为8080,建议先学习一下springboot,否则可能会比较吃力(建议先看一下readme.txt),里面有注意事项。

2、本例子截图功能

二、配置信息

springboot提倡约定大于配置,项目中删除了所有能删除的xml配置文件,数据库配置主要集中在cn.com.springtest.pt.config.db.MyBatisConfig和cn.com.springtest.pt.config.db.MyBatisMapperScannerConfig中,另外,mybatis那块有个坑,mybatis无法自动扫描war包中的model类,该项目中已经解决掉,具体解决方案请查看readme.txt,MessageConverter、spring的拦截器、filter等配置信息都在WebConfig中(配置比较简单,都是正常的spring mvc 项目中的配置信息直接迁移过来的,唯一的区别就是一个是用的xml配置的,本例子中是写在Java代码中的,一看就懂)。

三、配置文件

配置信息和正常的springboot项目无太大区别,只是这里需要配置jsp相关的配置信息

spring:
mvc:
view:
prefix: /WEB-INF/jsp/
suffix: .jsp
server:
port: 8080
tomcat:
uri-encoding: UTF-8 ribbon.eureka.enabled: false spring:
application:
name: springtest
http:
encoding:
force: true
charset: UTF-8
enabled: true
mvc:
view:
prefix: /WEB-INF/jsp/
suffix: .jsp
datasource:
name: test
url: jdbc:mysql://localhost:3306/springtest
username: root
password: root
# 使用druid数据源
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
filters: stat
maxActive: 20
initialSize: 1
maxWait: 60000
minIdle: 1
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: select 'x'
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
maxOpenPreparedStatements: 20

四、项目运行效果

未做太过复杂的例子,只是简单做了一个插入和查询的例子,经测试正常

五、spring boot入门参考

我在网站找了些入门资料,贴出来供大家参考下。

Spring Boot 入门:

http://blog.csdn.net/isea533/article/details/50278205

百度百科:

http://baike.baidu.com/link?url=3eSMLwbSKvRo8aS1Vzdm9I30OP8uf2X7Hnz-NLQfbTLvQ2rZQoE4KxzF9M7rGW_5U7JHUshlowljjyGMNvvmHOPd2cV0r9Y3ojJR1y3SE9C

注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权

最新文章

  1. [LeetCode] Largest Rectangle in Histogram 直方图中最大的矩形
  2. Support for Xpm library: no问题
  3. UVa 109 - SCUD Busters(凸包计算)
  4. nginx+keepalived实现nginx双主高可用的负载均衡
  5. file控件change事件触发问题
  6. Android -------- API等级
  7. Android摘要ImageView的scaleType属性
  8. android异步Http框架
  9. python常见异常
  10. 【Java基础】【16List集合】
  11. Yapi部署说明
  12. 「SCOI2014」方伯伯运椰子 解题报告
  13. poj 3414 Pots(bfs+输出路径)
  14. nginx配置分发Tomcat服务,负载均衡
  15. CSS基础和选择器
  16. py库: xlwt 、xlrd (写读EXCEL文件)
  17. 国内使用kubeadm部署kubernetes的完整流程
  18. [Deepin 15] 编译安装 PHP-5.6.30
  19. React-Native项目中使用Redux
  20. 使用socket发送http请求(get/post)

热门文章

  1. 转 UIAlertView 不显示、屏幕变灰
  2. joel 相关
  3. 一个对 Dijkstra 的采访视频
  4. 通过使用第三方开源jar包sigar.jar我们可以获得本地的信息
  5. linux usb信息查看与调试
  6. e为无理数的证明
  7. python文章学习列表
  8. HDU 4864 Task(贪心)
  9. 用java解析在OpenStreetMap上下载的地图数据(SAX版,适合比较大的xml文件)
  10. ransom-note