怒改springMVC项目为springBoot项目
背景:公司最近在做项目升级,融合所有项目,但是目前使用的一个系统还是最原始的框架 springMVC+spring+mybatis ,前端还是jsp,easyui(技术老的掉牙),终于出手了,结果。。。就让我开始修改。
前言:首先是百度一波,看看有没有什么前车之鉴,然而失望而归,感觉都不是很符合
开干:
第一步:首先在pom文件中添加spring-boot-starter相关依赖
如下:
<!-- spring boot -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<!--<version>2.1.1.RELEASE</version>-->
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-legacy</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<!--<version>9.0.14</version>-->
<scope>provided</scope>
</dependency> <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
第二步:新增启动类Application
@SpringBootApplication
@ImportResource(locations = {"classpath:spring-*.xml","classpath:mybatis-config.xml"})
@ServletComponentScan
public class xxSpringBootApplication {
public static void main(String[] args) {
SpringApplication application= new SpringApplication(T6SpringBootApplication.class);
application.setWebEnvironment(true);
application.run(args);
System.out.println("xxxxxxxxxxxxxSB");
}
}
有人问,为什么要加最后一行代码,表达了愤怒的心情,控制台如果看到这句话,说明启动成功了,但是经验告诉我,看到这句话是何等的困难,都是泪
第三步:神器 Maven Helper
点击启动按钮,当然是一堆报错,都是些什么NoClassDefFoundError之类的。。。这些基本都是依赖冲突的问题。
这时候一个非常牛逼的插件就开始起作用了,Maven Helper 使用方法参考 https://blog.csdn.net/u013870094/article/details/79712500
这篇文章少了一步:右击可以去除冲突
接着就是一系列的解决冲突的问题,还有一些依赖是缺少的,这个时候就需要去maven上获取 https://mvnrepository.com/search ,需要的是耐心
第四步:
如果项目包含前端是jsp的,需要引入一些jsp的依赖....
第五步:
如果原来项目中有一个监听类,是继承 ContextLoaderListener 类的话,是需要修改的.
老代码:
新代码:
@WebListener
public class SpringContextLoaderListener implements ServletContextListener { private static boolean initialized = false; @Override
public void contextInitialized(ServletContextEvent event) {
System.setProperty("thumbnailator.conserveMemoryWorkaround", "true");
// super.contextInitialized(event);
initialized = true;
} @Override
public void contextDestroyed(ServletContextEvent event) {
// super.contextDestroyed(event);
} public static boolean isInitialized() {
return initialized;
} }
花了一天,终于项目正常运行了,可能还有一些隐藏的bug还没有被发现,去测试了,。...........
补充:项目正常运行,发现无法原来使用的log4j打印日志,在springboot项目上无法打印日志。。坑爹。 springboot的打印日志组件变成了 logback,一顿改,先引入logback相关依赖包,然后将log4j.properties转换成logback支持的logback.xml 。这里有一个官方的转换网站 :https://logback.qos.ch/translator/ 。
最坑爹的就是转换过的文件,控制台可以正常输出日志,但是无法将日志输出到文件,找了一下午,必须要添加下图中红色区域代码
Ending!!!!!!!!!!!!!!!!!
怒改springMVC项目为springBoot项目的更多相关文章
- docker 运行jenkins及vue项目与springboot项目(三.jenkins的使用及自动打包vue项目)
docker 运行jenkins及vue项目与springboot项目: 一.安装docker 二.docker运行jenkins为自动打包运行做准备 三.jenkins的使用及自动打包vue项目 四 ...
- docker 运行jenkins及vue项目与springboot项目(一.安装docker)
docker 运行jenkins及vue项目与springboot项目: 一.安装docker 二.docker运行jenkins为自动打包运行做准备 三.jenkins的使用及自动打包vue项目 四 ...
- docker 运行jenkins及vue项目与springboot项目(二.docker运行jenkins为自动打包运行做准备)
docker 运行jenkins及vue项目与springboot项目: 一.安装docker 二.docker运行jenkins为自动打包运行做准备 三.jenkins的使用及自动打包vue项目 四 ...
- docker 运行jenkins及vue项目与springboot项目(四.docker运行nginx)
docker 运行jenkins及vue项目与springboot项目: 一.安装docker 二.docker运行jenkins为自动打包运行做准备 三.jenkins的使用及自动打包vue项目 四 ...
- docker 运行jenkins及vue项目与springboot项目(五.jenkins打包springboot服务且在docker中运行)
docker 运行jenkins及vue项目与springboot项目: 一.安装docker 二.docker运行jenkins为自动打包运行做准备 三.jenkins的使用及自动打包vue项目 四 ...
- maven项目或者SpringBoot项目启动时报错在本地仓库中找不到jar包的解决办法
经常遇到项目检出来后是导入开发工具eclipse中pom文件出错问题,项目启动时遇到了一些列的jar包找不到的问题,所以换个开发平台到IDEA以为会好些,结果同样的问题还是会出现的,为了找到具体的解决 ...
- spring老项目转springboot项目 笔记
引入jar包 先不删除老的jar包 <parent> <groupId>org.springframework.boot</groupId> <artifac ...
- Maven父项目 以SpringBoot项目为例
父项目pom <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http ...
- idea创建web项目,springboot项目,maven项目
web项目搭建 https://www.cnblogs.com/jxldjsn/p/8203859.html
随机推荐
- Js中关于内部方法、实例方法、原型方法、静态方法的个人见解。
function foo(name){ this.name=name; // 实例方法 this.GetName=function(){ console.log("my name is &q ...
- Visual Studio 调试(系列文章)
调试是软件开发过程中非常重要的一个部分,它具挑战性,但是也有一定的方法和技巧. Visual Studio 调试程序有助于你观察程序的运行时行为并发现问题. 该调试器可用于所有 Visual Stud ...
- C#学习书单
[入门] (1)<C#入门经典> (2)<牛腩新闻发布系统> [深入] (1)<CLR via C#(第4版)> (2)<深入理解C#(第3版)> [C ...
- (读论文)推荐系统之ctr预估-DeepFM模型解析
今天第二篇(最近更新的都是Deep模型,传统的线性模型会后面找个时间更新的哈).本篇介绍华为的DeepFM模型 (2017年),此模型在 Wide&Deep 的基础上进行改进,成功解决了一些问 ...
- Keil uVision4 ——如何新建一个项目
一.打开Keil4软件,点击Project,再点击New μVision Projrct. 二.新建一个文件夹,并在里面输入这个项目的名字. 三.点击Intel,根据实际情况选择,这里选择的是80/8 ...
- RGW 学习 前言
对于CEPH的学习已经有一段的时间了,最近的一段时间都是集中在RGW网关这一方面,所以准备将学习的过程以及源代码的分析,将以随笔的形式记录下来. 每天更新一章.
- GridView 使用详解
极力推荐文章:欢迎收藏 Android 干货分享 阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以 ...
- 通过jmeter发送webservice接口请求
1.webservice接口地址:http://ip:port/...?wsdl 2.接口数据类型:<cuxGmiChukuRmaTrxV><salesrepId xmlns:xsi ...
- jdk1.8 HashMap底层数据结构:深入解析为什么jdk1.8 HashMap的容量一定要是2的n次幂
前言 1.本文根据jdk1.8源码来分析HashMap的容量取值问题: 2.本文有做 jdk1.8 HashMap.resize()扩容方法的源码解析:见下文“一.3.扩容:同样需要保证扩容后的容量是 ...
- element ui 登录验证,路由守卫
<template> <!-- el-form :label-position="labelPosition" 设置label的位置 :model 用来给表单设置 ...