SpringBoot错误日志

2018.12.06

(1)无法启动SpringBoot,找不到dao接口对应映射文件

解决方法:在启动类上方加注释

@MapperScan("com.XXX.dao")

(2)可以启动SpringBoot,做数据库查询时找不到dao接口对应映射文件里的方法

解决方法:dao映射文件和dao接口文件全在java下,没有放到resource下,所以在pom.xml中最后</project>上方要做配置

<build>
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.xml</include>
            </includes>
        </resource>
    </resources>
</build>

(3)控制台打印异常时有乱码,提示需要设置时区

解决方法:在Application.properties文件中配置

spring.datasource.url=jdbc:mysql://localhost:3306/db1?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC

把?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC附加上就可以了。

(4) org.xml.sax.SAXParseException: 元素类型 "meta" 必须由匹配的结束标记 "</meta>" 终止

解决方法:pom文件导入一个依赖

<dependency>
     <groupId>net.sourceforge.nekohtml</groupId>
     <artifactId>nekohtml</artifactId>
     <version>${nekohtml.version}</version>
</dependency>

在Application.properties文件中配置

spring.thymeleaf.mode: LEGACYHTML5
spring.thymeleaf.cache=false

(5)在Service业务层天价了注释@Transactional但是报异常,事务却没有回滚,一定要注意是不是tay(catch)了,这样会把异常消除掉,导致事务不能回滚。

(6)在更新或者插入操作时,如果形参是个对象,则只需要直接用其属性赋值即可,不可以写作obj.XXX或者param.xxx。

(7)controller控制器返回式为void问题

(ps:我在控制器里写了个方法,没有返回值,单纯打印我递归遍历的下级菜单,发现字符串可以打印,但会报异常)

我用的是Thymeleaf模板,好多人指教去掉路径上的"/",但我根本没加。

解决方法:给返回值为void的方法加上HttpServletResponse 形参就好了。

具体缘由可以看下大神攻略 ==》http://blog.csdn.net/yh_zeng2 https://blog.csdn.net/yh_zeng2/article/details/75136614

猜你喜欢

转载自blog.csdn.net/yssa1125001/article/details/84851692