怒改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
随机推荐
- 2019杭电多校第二场hdu6601 Keen On Everything But Triangle
Keen On Everything But Triangle 题目传送门 解题思路 利用主席树求区间第k小,先求区间内最大的值,再求第二大,第三大--直到找到连续的三个数可以构成一个三角形.因为对于 ...
- 第一次使用cnblog,希望大佬们多多指教
我目前在学习ML和DeepLearning,在这里和大家共同成长
- [NLP-ASR] 语音识别项目整理(一) 语音预处理
简介 之前参与过114对话系统的项目,中间搁置很久,现在把之前做过的内容整理一下,一是为自己回顾,二是也希望分享自己看的内容,中间也遇到一些问题,如果您可以提一些建议将不胜感激. 114查询主要分 ...
- 使用jquery删除链接所在的行
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- vue中el-upload上传多图片且携带参数,批量而不是一张一张的解决方案
现在前端基本不是vue技术栈就是react技术栈. vue技术栈最常用的就是element-ui的ui框架了. 在项目中,我们经常会碰到这种需求:批量上传文件 element-ui 确实也为我们提供了 ...
- 彻底搞懂Python切片操作
在利用Python解决各种实际问题的过程中,经常会遇到从某个对象中抽取部分值的情况,切片操作正是专门用于完成这一操作的有力武器.理论上而言,只要条件表达式得当,可以通过单次或多次切片操作实现任 ...
- Android Studio 制作简单的App欢迎页面——基于Android 6.0
在许多的Android App中,我们点击进入时,都可以看到一个欢迎页面,大概持续了几秒,然后跳转至主页面.以下是我开发过程中总结出的一些方法和例子. 一.创建一个新的Activity 首先,新建了一 ...
- Another option to bootup evidence files
When it comes to booting up evidence files acquired from target disk, you got two options. One is VF ...
- 基于JaCoCo的Android测试覆盖率统计(二)
> 本文章是我上一篇文章的升级版本,详见地址:https://www.cnblogs.com/xiaoluosun/p/7234606.html ## 为什么要做这个?1. 辛辛苦苦写了几百条测 ...
- C语言编程学习打造——做题游戏
C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...