普通spring jsp+mybatis项目修改为springboot + jsp +mybatis项目

概述

由于公司决定使用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、本例子截图功能

blob.png

blob.png

 

二、配置信息

 

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代码中的,一看就懂)。

blob.png

 

三、配置文件

 

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

 

1
2
3
4
5
spring:
    mvc:
        view:
          prefix: /WEB-INF/jsp/
          suffix: .jsp

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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

 

 

四、项目运行效果

 

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

blob.png

五、spring boot入门参考

 

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

Spring Boot 入门:

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

百度百科:

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

 

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

 

posted on   demo例子集  阅读(2420)  评论(0编辑  收藏  举报

(评论功能已被禁用)
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示