日志问题

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中的日志组件

 <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</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,检查是否引用了mybatis,Oracle(mysql)等必要的组件

2.查看项目启动类是否配置了ComponentScan,MapperScan等

打包问题

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

解决办法:

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

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

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

配置文件

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

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

但是出现一些问题

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

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

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

 public class ResourceUtil {

     private static Map<String, String> allMap = new HashMap<>();

     static {
List<String> params = ManagementFactory.getRuntimeMXBean().getInputArguments();
String str = "";
if (params.contains("-Dspring.profiles.active=dev")) {
str = "/application-dev.yml";
} else if (params.contains("-Dspring.profiles.active=test")) {
str = "/application-test.yml";
} else if (params.contains("-Dspring.profiles.active=prod")) {
str = "/application-prod.yml";
} else {
try {
throw new Exception("参数启动异常");
} catch (Exception e) {
e.printStackTrace();
}
}

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

上传文件

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

代码:

 @Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter { @Value("${js.web.path}")
private String LocationPath; @Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("upload/**").addResourceLocations("file:"+LocationPath+"upload\\");
}
}

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

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

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

SSM迁移到Springboot记录的更多相关文章

  1. 老项目迁移到springboot之后,上线服务器出现404的解决方法

    原因是老项目迁移到springboot之后,已经不再使用web.xml的配置了,但是WEB-INF目录下还有web.xml,所以才导致的404,所以只需要在源码处删除整个WEB-INF重新build即 ...

  2. SSM项目 以及 springboot 中引入swagger2的方法

    swagger2是一个非常好用的接口文档,在开发的过程中方便前后端接口的交接. 下面我们就来讲讲在使用java时,分别在SSM框架,以及springboot+mybatis框架中引入swagger2的 ...

  3. 使用 ssm 实现登录日志记录

    使用 ssm 实现登录日志记录 学习总结 一.基础准备 1. 实现效果 2. 数据表 2.1 登陆日志信息表 2.3 员工表 二.代码实现 1. SysLogLogin 实体类 2. LogAspec ...

  4. openstack虚拟机迁移的操作记录

    需求说明:计算节点linux-node1.openstack:192.168.1.8  计算节点linux-node2.openstack:192.168.1.17 这两个计算节点在同一个控制节点下( ...

  5. 老项目迁移到 springboot 过程

    打算把detectx迁移,毕竟springboot更适合它, 首先我是用的快速建立的项目,springboot版本为 1.5.19.RELEASE ,官网查了下,这个是GA稳定生产环境版本 然后如果要 ...

  6. Swift 3.0项目迁移的一些记录

    刚执行完Convert后报错600+,真是令人奔溃. 之后重新编译,仔细分析后发现其实真实错误远没有那么多.最终实际修改到的错误也就几十个,而且其中某些还是同一种错误. 这个项目是一个供自己使用的浏览 ...

  7. spring-boot记录sql探索

    目标记录每次请求内的http.es.mysql耗时,本篇讨论mysql部分 为什么说要探索,这不是很简单的事么?但是能满足以下几点么? 能记录limit等参数 能将参数和sql写一起,能直接使用 能记 ...

  8. mvc网站迁移.net core记录

    接口return Json()时序列号小写的问题 在Startup.cs->ConfigureServices方法配置一下解决 public void ConfigureServices(ISe ...

  9. SSM整合配置错误记录

    org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dic ...

随机推荐

  1. 初识Mybatis框架

    mybatis框架  主要是对数据库进行操作的 编写sql语句 使我们对数据库的crud操作更加简洁方便!! 1.使用mybatis框架 进行第一个项目 查询数据库 并返回数据 :(简单) (1)搭建 ...

  2. Java-File类获取目录下文件名-遍历目录file.listFiles

    package com.hxzy.IOSer;import java.io.*;/*File 类获取功能 * List * ListFile * */public class Demo06 { pub ...

  3. js正则包含三位

    var reg = new RegExp("^(?![A-Za-z]+$)(?![A-Z\\d]+$)(?![A-Z_\\W]+$)(?![a-z\\d]+$)(?![a-z_\\W]+$) ...

  4. 脚本:定时释放 Linux/CentOS 缓存【转载自:杭州山不高】

    定时释放Linux/CentOS缓存的脚本(yl_dropcaches)如下: #!/bin/bash used=`free -m | awk 'NR==2' | awk '{print $3}'` ...

  5. [科普] 借助 everything 扩展教你屏蔽网址或转发网址

    教你屏蔽网址或转发网址 万恶之源 为什么写这篇文章,俺觉得大家应该是有这个需(bai)求(du)的.只是不知道如何操作... 一.屏蔽网址 1.借助系统自带防火墙 (不推荐) Linux 下有 ipt ...

  6. jquery基础认知

    who      what触发       按钮      点击 (click)执行       div        动画 (animation) $(document).ready(functio ...

  7. 我3年前开发的IM即时通讯一直没勇气推出,现在智能时代了,有什么可以结合的地方吗?

    我3年前开发的IM即时通讯一直没勇气推出,现在智能时代了,有什么可以结合的地方吗? 服务端采用基于XMPP协议的Openfire(当然改造了很多,也添加了很多握手协议) 客户端有做了四个版本:一个Ja ...

  8. 关于Java的权限修饰符(public,private,protected,默认friendly)

    以前对访问修饰符总是模棱两可,让自己仔细解释也是经常说不很清楚.这次要彻底的搞清楚. 现在总结如下: 一.概括总结 各个访问修饰符对不同包及其子类,非子类的访问权限 Java访问权限修饰符包含四个:p ...

  9. spring boot快速入门 9: 单元测试

    进行单元测试: service第一种方式: 第一步:在指定service中创建一个方法进行测试 /** * 通过ID查询一个女生的信息 * @param id * @return */ public ...

  10. javascript004_ECMA5数组新特性

    •对于ECMAscript5这个版本的Array新特性补充: –位置方法:indexOf      lastIndexOf –迭代方法:every  filter   forEach   some   ...