奇葩问题: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 ...
随机推荐
- struts2 标签
一.逻辑控制标签 用于进行逻辑控制输出.主要分以下几类: 1)条件标签:用于执行基本的条件流转 <s:if>:拥有一个test属性,其表达式的值用来决定标签里内容是否显示.<s:if ...
- netCDF
NetCDF started in 1989 most used in geoscience community array-oriented self-describing header, desc ...
- js渲染的3d玫瑰
参看下面链接: 程序员最美情人节礼物:JS渲染的3D玫瑰
- asp.net js 获取服务器控件值
最近在弄js 但是设计到获取服务器控件的值,有点模糊.百度查了资料都达不到效果.现在看看这个,希望朋友们能用上!! <asp:Label ID="lbDepartName" ...
- html5页面增强元素
figure元素以及figcaption元素 <figure> <img src="images/1.jpg" alt="图片"> &l ...
- Array类型(二)
1.concat()方法可以基于当前数组中的所有项创建一个新数组. 先创建当前数组的一个副本,然后将接收到的参数添加到这个副本的末尾,最后返回新构建的数组. var colors = ["r ...
- Bootstrap 模态对话框只加载一次 remote 数据的解决办法
原文: https://my.oschina.net/qczhang/blog/190215?p=1
- webService设置超时时间
在客户端配置文件中设置: <bindings> <basicHttpBinding> <binding name="UrlCrawler ...
- 3D Touch:静态快速启动方式
原文传送门:Add iOS 9’s Quick Actions shortcut support in 15 minutes right now ! 苹果在iOS9 上引入3D触控(压力触控)功能 ...
- mongodb GUI
官网:http://robomongo.org/ 提供Mac .Windows .Linux三种版本: robomongo界面简洁功能强大人性化: