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

发布时间:2017-06-26
技术:spring-boot 1.5.2.RELEASE+spring-cloud Dalston.SR1 + mybatis3.4.4 +druid1.0.31 + javax.servlet-api3.1.0 + javax.servlet.jsp-api2.3.1 + jstl1.2

概述

由于公司决定使用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相关的配置信息

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


四、项目运行效果

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

blob.png

五、spring boot入门参考

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

Spring Boot 入门:

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

百度百科:

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


本实例支付的费用只是购买源码的费用,如有疑问欢迎在文末留言交流,如需作者在线代码指导、定制等,在作者开启付费服务后,可以点击“购买服务”进行实时联系,请知悉,谢谢
手机上随时阅读、收藏该文章 ?请扫下方二维码