奇葩问题:spring+mybaits项目突然出现其中一些Mapper类找不到
一、问题现象
1,No bean named 'bomManageMapper' found in org.springframework.beans.factory.support.DefaultListableBeanFactory@.........
2,我把代码中引用的bomManageMapper全部注释掉,又会出现另外一个Mapper对象找不到
3,但是奇怪的是,有两个项目启动的时用到的Mapper对象可以找到,发现这两个Mapper对象是在项目的core包下面,而其他找不到的Mapper对象都在interfaces包下面;
二、寻找答案
1,怀疑是昨天修改了什么东西,导致的这个问题(具体也记得不清楚了,所以版本控制真的很重要,而且做好是每天都要提交);
2,试图还原昨天的修改,删除一些新增内容,但是问题依旧;
就这样折腾了一上午;
三、解决
打开了spring的配置文件看看,有这一行,扫描Mapper和dao类:
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer" p:basePackage="com.skysport.*.dao" p:sqlSessionFactoryBeanName="sqlSessionFactory" />
就是这个dao,突然想到,昨天把interfaces的包中的‘dao’文件夹重命名为‘mapper’,而core包中的还是dao包,好吧,问题原因找到了。
重命名core包中的dao包为mapper包,重启服务,恢复正常;
四、一点思考:
1,关于定位问题:
如果之前没有出现,而是做了某些修改后,才出现的问题,那么肯定是修改动作导致的。
2,关于版本控制:
养成按天提交代码的习惯,这样可以对比出来每天修改的内容,便于定位问题;
3,关于修改:
在修改一项内容时,一定要评估它带来的影响有多大,我觉得可以从两个角度去衡量:
a),可量化的:修改一项内容,如果直接影响到很多文件修改,那么一定要慎重,要评估风险(例如:是否每个涉及到的地方都修改了)
b),不可量化:例如修改了代码的加锁机制,可能影响的就一、两个类,那么就要靠开发者的自身能力和足够的测试去规避风险了。
奇葩问题:spring+mybaits项目突然出现其中一些Mapper类找不到的更多相关文章
- 关于Android项目中,突然就R类找不到已存在的资源文件的解决方法
		
项目代码早上打开正常,下午开的时候突然提示R类找不到已存在的布局文件,于是试了各种方法,CLEAN啊,重启啊,均无效,然后去网上搜了下,遇到这个问题的人还不少. 看到其中有这么一条解决方法,删除导入的 ...
 - spring boot项目如何测试,如何部署
		
有很多网友会时不时的问我,spring boot项目如何测试,如何部署,在生产中有什么好的部署方案吗?这篇文章就来介绍一下spring boot 如何开发.调试.打包到最后的投产上线. 开发阶段 单元 ...
 - Eclipse创建第一个Spring Boot项目
		
一.安装SpringBoot插件 安装过程需要联网下载插件,属于在线安装,请耐心等待安装完成,下载安装完成以后,需要重启Eclipse 二.创建Spring Boot项目 如下图所示new-other ...
 - Spring整合Redis&JSON序列化&Spring/Web项目部署相关
		
几种JSON框架用法和效率对比: https://blog.csdn.net/sisyphus_z/article/details/53333925 https://blog.csdn.net/wei ...
 - 错误: 找不到或无法加载主类(IDEA中启动spring boot项目)
		
版权声明:本文为博主原创文章,如果转载请给出原文链接:http://www.jufanshare.com/content/142.html 提示:需要对IDEA编辑工具使用熟悉 出现一个问题,就是sp ...
 - 使用IDEA创建Spring boot项目,继承mybaits。并进行简单的数据库查询操作
		
本文讲的是使用IEDA创建Spring boot项目,对于环境安装需要自行准备,如JDK1.8.Maven 3.3.IDEA编译器.Mysql5.7等需事前准备好. 1.创建Spring boot项目 ...
 - spring+mybaits xml配置解析----转
		
一.项目中spring+mybaits xml配置解析 一般我们会在datasource.xml中进行如下配置,但是其中每个配置项原理和用途是什么,并不是那么清楚,如果不清楚的话,在使用时候就很有可能 ...
 - 简单的Spring Boot项目——实现连接Mysql数据库
		
一.创建Spring Boot项目 参考:使用IntelliJ IDEA创建简单的Spring Boot项目 二.数据库.表的创建 三.项目开发 3.1 pom.xml文件配置 <?xml ve ...
 - IntelliJ IDEA上创建maven Spring MVC项目
		
IntelliJ IDEA上创建Maven Spring MVC项目 各软件版本 利用maven骨架建立一个webapp 建立相应的目录 配置Maven和SpringMVC 配置Maven的pom.x ...
 
随机推荐
- Unity-资源
			
模型.材质.动画 Unity的默认系统单位为"米" 三维软件 三维软件内部米制尺寸/m 默认设置导入Unity中的尺寸/m 与Unity单位的比例关系 Maya 1 100 1:1 ...
 - Java—Integer类
			
Integer类 Integer 类在对象中包装了一个基本类型 int 的值.Integer 类型的对象包含一个 int 类型的字段. 该类提供了多个方法,能在 int 类型和 String 类型之间 ...
 - [Leetcode] Two Sum (C++)
			
我在Github上新建了一个解答Leetcode问题的Project, 大家可以参考, 目前是Java 为主,里面有leetcode上的题目,解答,还有一些基本的单元测试,方便大家起步. 题目: Gi ...
 - php 查看文档
			
http://www.runoob.com/php/php-datatypes.html php 学习网站 : http://www.phpfans.net/
 - Pubwin服务端重装(安装)教程
			
此博文已移至爬不稳独立博客:www.pubwin2009.net传送门:http://www.pubwin2009.net/index.php/post/6.html 一,卸载原来服务端和数据库. 1 ...
 - MVC新语法匿名方法
			
一.简单匿名方法 1.0匿名方法的写法规则: delegate(编写匿名方法的参数,格式和类型由程序员自己根据业务逻辑来定义){函数的方法体代码} 最下面使用deledate编写匿名方法参数所写 ...
 - mysql 在启动时配置文件的查找方式
			
知识储备: 1.mysql在启动时会去多个地方找它的配置文件,当然啦这些也都是可以从帮助中找到的,问题在于我们要知道怎么找到对应的帮助才行啊 实战: [root@workstudio data]# m ...
 - 从客户端(******)中检测到有潜在危险的 Request.Form 值。
			
在 提交表单时候,asp.net 提示:"从客户端(......)中检测到有潜在危险的 Request.Form 值" .asp.net中的请求验证特性提供了某一等级的保护措施防止 ...
 - 杀死MySQL的连接
			
命令 kill 执行线程号 C# 执行杀死指定的连接 1 强制Kill掉 internal protected void KillConnection(MySqlConnection c) { i ...
 - nginx+vaadin配置
			
nginx+Vaadin的特殊性在于配置WEBSOCKET或LONG_POLLING.网上资料不多,自己多次尝试配置都不成功,后来终于找到这篇说明才得以配置成功,使用效果不错,介绍如下. 1./etc ...