java_项目启动时的一个奇怪问题
缘由:测试一个SQL function在项目上是否可以使用
方法:在测试类中调用相关SQL,查看执行情况
步骤:
1.随便查个东西,根据查询结果判断test类配置是否正确,所用数据库是否理想
2.查询没问题后,新增一个sql查询方法,在test类中进行调用
3.观察执行结果
问题:步骤1执行顺利,在步骤2 执行过程中,系统启动时一直在加载mapper文件和xm文件,也就是在控制台一直刷屏,但是系统无法启动。
思路:
1.redis或者db配置问题。 --> 检查发现不是
2.其他
观察日志输出(因为刷屏太快看不到有任何异常信息),发现有个蓝色背景的文本,应该是某个类注入失败。暂停项目查看日志,获取如下信息:
1 | [admin][${sys:local-ip}] 2022 - 07 - 26 10 : 24 : 43.655 WARN [main][org.springframework.beans.factory.support.AbstractBeanFactory: 1490 ] - Bean creation exception on non-lazy FactoryBean type check: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mdTaxiDriverAuthDao' defined in file [D:\code\ztx-platform\ztxplatform-dao\target\classes\com\seari\ztxplatform\dao\md\MdTaxiDriverAuthDao. class ]: Cannot resolve reference to bean 'sqlSessionFactory' while setting bean property 'sqlSessionFactory' ; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in URL [file:/D:/code/ztx-platform/ztxplatform-admin/target/classes/spring-config-dao.xml]: Invocation of init method failed; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [D:\code\ztx-platform\ztxplatform-dao\target\classes\com\seari\ztxplatform\dao\bl\BlPlatformOrderMapper.xml]' ; nested exception is org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 165 ; columnNumber: 57 ; The content of elements must consist of well-formed character data or markup. |
很明显是数据库启动过程出现了问题,搜索相关关键词 “The content of elements must consist of well-formed character data or markup” 发现是sql语句语法问题,检查后发现末尾多了个分号
然后修改后再启动发现问题依旧。
再检查,发现是xml文件中的sql语句使用了小于号,造成了解析问题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?