首页 > 编程语言 > 详细

SSM迁移到Springboot记录

时间:2019-03-03 16:27:28      阅读:424      评论:0      收藏:0      [点我收藏+]

日志问题

Exception in thread "main" java.lang.IllegalArgumentException: LoggerFactory is not a Logback LoggerContext but Logback is on the classpath. Either remove Logback or the competing implementation (class org.slf4j.impl.Log4jLoggerFactory loaded from file:/C:/Users/Administrator/.m2/repository/org/slf4j/slf4j-log4j12/1.7.25/slf4j-log4j12-1.7.25.jar). If you are using WebLogic you will need to add ‘org.slf4j‘ to prefer-application-packages in WEB-INF/weblogic.xml: org.slf4j.impl.Log4jLoggerFactory

 技术分享图片

 

解决方案

去掉springboot中的日志组件

 1 <dependency>
 2     <groupId>org.springframework.boot</groupId>
 3     <artifactId>spring-boot-starter-web</artifactId>
 4     <exclusions>
 5         <exclusion>
 6             <groupId>org.springframework.boot</groupId>
 7             <artifactId>spring-boot-starter-logging</artifactId>
 8         </exclusion>
 9     </exclusions>
10 </dependency>
11 <dependency>
12     <groupId>org.springframework.boot</groupId>
13     <artifactId>spring-boot-starter</artifactId>
14     <exclusions>
15         <exclusion>
16             <groupId>org.springframework.boot</groupId>
17             <artifactId>spring-boot-starter-logging</artifactId>
18         </exclusion>
19     </exclusions>
20 </dependency>

thymeleaf问题

java.lang.IllegalStateException: Error processing condition on org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration$ThymeleafDefaultConfiguration.templateEngine

 技术分享图片

解决办法:

原来的SSM项目存在此组件的包,忘了去掉了,去掉即可。

 

启动错误

A component required a bean of type ‘com.bjcsxq.js.foundation.dao.BmZzjgDao‘ that could not be found

Consider defining a bean of type ‘com.bjcsxq.js.foundation.dao.BmZzjgDao‘ in your configuration.

 技术分享图片

解决办法:

1,检查是否引用了mybatisOraclemysql)等必要的组件

2.查看项目启动类是否配置了ComponentScanMapperScan

 

打包问题

项目可以正常运行,但是项目在打包的时候提示个下边的错误,提示包不存在,但是在idea中点击此类可以正常导航过去查看。

 技术分享图片

解决办法:

1.此包为jdk中的包,在jdk的安装目录中可以找到

2.按照下图方式,点击+号 将找到的jar放到项目中

技术分享图片

 

3.重新打包项目,正确打包出来

配置文件

首选按照springboot的方式将配置文件分为开发 测试 正式 的方式进行分开(dev  test prod

将以前的配置文件分别的写入到里边

但是出现一些问题

1 以前的配置文件的方式是使用properties文件进行配置,而springboot则打算只用yml配置文件,而且之前的SSM读取properties使用的是工具类进行读取,在文件名上没有区分出来正式和测试,而且之前配置读取都是在一个公用方法中,现在项目采用的办法是在工具类上判断出来是环境类型,然后根据不同环境进行读取配置。

技术分享图片

 

在启动类的函数中增加VM option参数,第三行为环境配置

在工具类中读取yml文件之前判断运行参数的环境配置

 1 public class ResourceUtil {
 2 
 3     private static Map<String, String> allMap = new HashMap<>();
 4 
 5     static {
 6         List<String> params = ManagementFactory.getRuntimeMXBean().getInputArguments();
 7         String str = "";
 8         if (params.contains("-Dspring.profiles.active=dev")) {
 9             str = "/application-dev.yml";
10         } else if (params.contains("-Dspring.profiles.active=test")) {
11             str = "/application-test.yml";
12         } else if (params.contains("-Dspring.profiles.active=prod")) {
13             str = "/application-prod.yml";
14         } else {
15             try {
16                 throw new Exception("参数启动异常");
17             } catch (Exception e) {
18                 e.printStackTrace();
19             }
20         }

 

2 测试和开发环境可以统一,但是因为正是环境需要部署到不用的地方,所以包括数据库连接,自定义配置等等都无法统一,但所幸这写配置几乎都不会去改动,所以将无法统一的配置信息也都放入到启动参数中,看上图的配置截图,注意参数配置 是-D开头。

 

上传文件

文件上传之前的方式为存储在项目目录中,但是现在打算使用jar运行项目,所以需要使用其他的方式,正常的话需要有一个文件站点或者SSO方式为好,但是项目中并没有此方式,而且最大的进行兼容之前的代码,所以打算使用springboot中的虚拟路径的方式,和IIS中的虚拟目录功能差不多。

代码:

 1 @Configuration
 2 public class WebMvcConfig extends WebMvcConfigurerAdapter {
 3 
 4     @Value("${js.web.path}")
 5     private String LocationPath;
 6 
 7     @Override
 8     public void addResourceHandlers(ResourceHandlerRegistry registry) {
 9         registry.addResourceHandler("upload/**").addResourceLocations("file:"+LocationPath+"upload\\");
10     }
11 }

 

第一个是访问地址,第二个是映射到的真实硬盘路径。

这样我们访问前边的地址的时候就会映射到后边的真实文件路径中。

 

其他的问题,包括的文件读取,定时任务配置,和项目中不兼容的地方等等,都是比较简单的改动,不过这只是保证大部分的功能可以使用,其中很多的问题还需要经过测试流程才可以进行正式使用。

 

SSM迁移到Springboot记录

原文:https://www.cnblogs.com/jiage/p/10466140.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!