IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 【巨坑】SpringBoot创建Bean失败 + 内存泄漏警告 The web application [ROOT] appears to have started a thread named -> 正文阅读

[Java知识库]【巨坑】SpringBoot创建Bean失败 + 内存泄漏警告 The web application [ROOT] appears to have started a thread named

最近在做一个项目,今天稍微修改了一些mapper和service、加了一个controller后,项目启动突然警告 + 报错(为了保证可读性加了一些换行):

2022-02-08 22:28:08.024  WARN 65348 --- [           main] o.a.c.loader.WebappClassLoaderBase       : 
The web application [ROOT] appears to have started a thread named [logback-1] but has failed to stop it. 
This is very likely to create a memory leak. Stack trace of thread:
 java.base@11.0.12/jdk.internal.misc.Unsafe.park(Native Method)
 java.base@11.0.12/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234)
 java.base@11.0.12/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2123)
 java.base@11.0.12/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1182)
 java.base@11.0.12/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:899)
 java.base@11.0.12/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054)
 java.base@11.0.12/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114)
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2022-02-08 22:28:08.044 ERROR 65348 --- [           main] o.s.boot.SpringApplication               : 
Application run failed

org.springframework.beans.factory.UnsatisfiedDependencyException: 
Error creating bean with name 'classCacheConfig': Unsatisfied dependency expressed through field 'classService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: 
Error creating bean with name 'classServiceImpl': Unsatisfied dependency expressed through field 'baseMapper'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: 
Error creating bean with name 'classMapper' defined in file [C:\Users\CTC\Desktop\ZKCOURSE\target\classes\com\haotongxue\mapper\ClassMapper.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\CTC\Desktop\ZKCOURSE\target\classes\com\haotongxue\mapper\xml\UserMapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: 
Error creating document instance.  Cause: org.xml.sax.SAXParseException; lineNumber: 36; columnNumber: 10; The content of element type "mapper" must match "(cache-ref|cache|resultMap*|parameterMap*|sql*|insert*|update*|delete*|select*)+".

除此之外,还显示了其他一些service和mapper的创建Bean失败异常(此处省略),仔细检查了一番各个Bean的写法和使用后,还是找不到问题出现在哪里。对比Git版本后,发现我也没有动过相关Bean,检查了很久才发现原来mapper.xml有个地方多写了一些东西,导致标签无法匹配…
在这里插入图片描述
在底部也可以发现mapper标签已经报红:
在这里插入图片描述
回想才知道可能在粘贴方法名的时候不小心。但是idea中的xxxMapper.xml文件却没有报红,特别是我们在日常code的时候,很容易忽略这些藏在文件里的报红细节。

将这串多出来的字母删去后,一切恢复正常。
其实在报错信息的一些列“Caused by…”中,除了前面的一大堆

Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘xxx’

信息外,在底部还有一串:

Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: ‘file [C:\Users\CTC\Desktop\xxxxx\target\classes\com\xxxxx\mapper\xml\UserMapper.xml]’;

还有一串:

Caused by: org.apache.ibatis.builder.BuilderException: Error creating
document instance. Cause: org.xml.sax.SAXParseException; lineNumber:
36; columnNumber: 10; The content of element type “mapper” must match

从中可以看出,其实编译器已经提醒我们错误具体在哪个文件里了,甚至行数和列数也给我们了(虽然是不准的),只是被我忽略了…

但是为什么会出现那么多Bean创建失败的情况呢?报错的绝大多数Bean也没有直接引用这个mapper组件,而且还出现了内存泄漏(Memory leak)的多条警告,欢迎各位大佬交流指教o(╥﹏╥)o

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-02-09 20:33:44  更:2022-02-09 20:36:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 12:34:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码