invalid boundexception的原因大抵是因为mybatis扫描不到mapper映射文件(xml),无法将mapper接口类(java)中的接口与mapper映射器绑定起来。这可能是因为target/classes的对应目录下根本就没有mapper的映射文件,也有可能是因为mybatis配置的路径错误。关于mybatis的一些坑可以参考另一篇随笔:

springboot整合mybatis遇到的那些坑

但是还有一种情况,在多模块项目中,dao工程是跟数据库打交道的,那么理论上只要给他在application.properties中配置好mysql和mybatis就OK了吧?非也。在依赖dao工程的service工程中,也要配置mysql和mybatis,否则就有可能出现在dao工程中万事俱备,在service工程中调用dao工程的接口时,仍然会报invalid boundexception,因为service工程当然是依据本工程内的配置文件(注意,专指application.properties)去扫描加载,dao工程配置的再完备也是白搭。用来扫描dao接口的@MapperScan是加在service工程的启动类上,也是差不多的道理。

更进一步的,由上可知dao工程的配置文件其实并没有什么用,可以删掉以避免重复配置(当然dao工程需要的依赖还是要老老实实的引入),在引用方的service工程中配置一次即可。作为不需要启动的工程,配置文件和启动类都可以删掉。

springboot+dubbo+mybatis多模块项目invalid boundexception的更多相关文章

  1. SpringBoot+Mybatis多模块项目搭建教程

    一.前言 框架为SpringBoot+Mybatis,本篇主要记录了在IDEA中搭建SpringBoot多模块项目的过程. 1.开发工具及系统环境 IDE:IntelliJ IDEA 2018.2 系 ...

  2. springboot创建maven多模块项目

    SpringBoot创建maven多模块项目 项目结构 该项目名称为springboot-maven-multi,由springboot-maven-multi.user-dao.user-domai ...

  3. SpringBoot&Dubbo&Zookeeper远程调用项目搭建

    序言 Dubbo一款分布式服务框架,作为阿里巴巴SOA服务化治理方案的核心框架,通过高性能和透明化的RPC实现服务的远程调用,对服务的负载均衡以及项目的耦合性提供很强的解决方式;具体Dubbo的介绍和 ...

  4. SpringBoot+Gradle构建多模块项目

    1 概述 Gradle由于构建速度比Maven快,且比Maven灵活,因此很多后端的应用都使用了Gradle进行构建,但一个问题是,Gradle的多模块项目比较难构建,再加上Gradle的更新非常快, ...

  5. springboot的maven多模块项目架构微服务搭建——依赖方式的多模块演化为微服务项目

    在上一篇依赖方式多模块的基础上对项目进行改造.主要改造user-service项目,service要配置mapper.mybatis及数据库相关的东西,后面的接口消费方user就不再需要了 注意:以下 ...

  6. springboot的maven多模块项目架构微服务搭建——构建多模块项目(依赖方式)

    总想对微服务架构做一个小小的总结,不知如何下手,最近觉得还是从搭建微服务的过程来入手,对于springboot的maven项目从构建多模块架构进而衍化为常用的微服务架构来做个记录吧. 首先,创建多个s ...

  7. Springboot:单元测试多模块项目不同模块组件不能@autowired问题

    博主在写springboot单元测试的时候使用@Autowired失效,显示为null 下面是项目架构 api为接口模块,service为实现类模块,测试类写在service模块下. 这是测试类,使用 ...

  8. Spring Boot + MyBatis 多模块项目搭建教程

    一.前言 1.开发工具及系统环境 IDE:IntelliJ IDEA 2020.2.2 系统环境:Windows 2.项目目录结构 biz层:业务逻辑层 dao层:数据持久层 web层:请求处理层 二 ...

  9. springboot+mysql+mybatis+Mybatis-Generator+druid 项目demo

    1.使用idea新建项目 2.使用Mybatis-Generator自动生成Dao.Model.Mapping相关文件 3.配置application.yml文件 server: port: 8080 ...

随机推荐

  1. 清空Sql server日志

    日志文件时间长了很大很讨厌,这样清空 1.分离数据库 2.将原数据库的log文件改名 3.附加数据库,在log文件中会显示没有发现,点击删除按钮 4.确定即可

  2. 子线程更新UI界面的2种方法

    一.一般我们都会在子线程完成一些耗时的操作. 1.Android中消息机制: 2.知识点: Message:消息,其中包含了消息ID,消息处理对象以及处理的数据等,由MessageQueue统一列队, ...

  3. python request Payload 数据处理

    普通的http的post请求的请求content-type类型是:Content-Type:text/html; charset=UTF-8, 而另外一种形式request payload,其Cont ...

  4. 去中心化存储项目终极指南 | Filecoin, Storj 和 PPIO 项目技术对比(下)

    在上篇文章中,我们主要从价值定位.技术层次架构.服务质量.去中心化程度,和经济激励机制五个方面分析了三个项目的不同.在这一篇文章中,我们将着重从区块链的架构设计.数据传输技术设计和数据存储技术设计三方 ...

  5. Linux下的快捷键

    1:tab 键 命令补全 路径补全 2:Ctrl+C    命令的中止 3:Ctrl+D     退出当前的会话  exit   logout 4:Ctrl+l      clear  清屏    5 ...

  6. spark2.1源码分析3:spark-rpc如何实现将netty的Channel隐藏在inbox中

    class TransportServer bootstrap.childHandler(new ChannelInitializer<SocketChannel>() { @Overri ...

  7. 淘宝App直播宝贝数据采集

    淘宝App直播宝贝数据采集   前段时间,有人问我关于淘宝app直播频道宝贝如何采集?我尝试了下可以获取的到,模拟器登录不了淘宝,这里有一个坑就是,模拟器有时候会跳到登录页面,登录不了淘宝: 一.用A ...

  8. Skyline TerraExplorer -二次开发- 加载外部数据的各种连接串

    Skyline 可以连接外部的数据源,包括SQL Server,Oracle ,excel,mySQL,SQlite,WFS....... 连接字符串如下:例如连接shp文件,为“FileName=C ...

  9. [UnityShader效果]01.Mask

    参考链接: https://blog.csdn.net/akof1314/article/details/50428200 1.Mask.shader // Unity built-in shader ...

  10. Java能不能通过代码干预Java垃圾回收

    1.不能通过Java代码干预Java垃圾回收. 2.system.gc是请求运行垃圾回收器,不一定真的运行了垃圾回收器. 3.Java的system.gc不受代码控制. 4.影响Java虚拟机垃圾回收 ...