required a bean of type ‘xxx‘ that could not be found.不一样的解决方法

今天小翔又get到一个新的知识点,原来mapper的扫描还可以这样配置。这也源于一个报错。
说起这个报错


APPLICATION FAILED TO START


Description:

Field statisticFieldMapper in com.guoke.m.data.controller.web.StatisticFieldController required a bean of type ‘com.guoke.m.data.mapper.statistics.StatisticFieldMapper’ that could not be found.

The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)

Action:

Consider defining a bean of type ‘com.guoke.m.data.mapper.statistics.StatisticFieldMapper’ in your configuration.
光看报错信息,就知道是扫描包出了问题,那么就需要看你的扫描包的配置是否扫到你的包,或者你创建的包或者文件是否在你配置的扫描路径下。
类似于https://blog.csdn.net/king101125s/article/details/104166320这些解决方案。
但是这对我来说根本没有用。
那么将我的文件移动到别人创建的包中呢?是否可以成功,当然,成功了。难道是我创建的包名称有问题,使用了关键字?–》更改包名称,再次启动,然而,不行。于是。。求助我老大,
老大老大,永远最大。他就是最胖的。……o
让我来带你康康,出问题的原因。
通常我们的mapper层扫描包是这样的
在这里插入图片描述
mapper的包是这样建的
在这里插入图片描述
然而。。。令我惊奇的是还可以这样
在这里插入图片描述

采用主从的形式。那么配置文件中
在这里插入图片描述
在这里插入图片描述
再来看看mapper.xml
在这里插入图片描述
依旧是主从,主中查询
在这里插入图片描述

从包中
在这里插入图片描述
哇偶哇偶!真是大开眼见。

优点

这样做的目的是将主数据源与其余数据源分开,也就是分层次,这样方便与查找与编写,无论开发者是新手还是老油条都一目了然。防止乱建乱放。

使用场景

适用于数据管理系统。将本系统的主数据来源(也就是本系统的数据库)与其他系统的数据来源(其他数据库)隔离开来,更好的施行跨库查询。

接下来我就需要认知到我所需要查找的表信息需不需要跨库查询,不需要的放在master层级下,需要的放在slaver层级下。然后将mapper包放到指定位置。
再次重启,成功。
希望我的错误更正能帮到你。
每一次的进步都藏在点滴之间。祝小翔和每个人都加油,加油加加油。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值