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. vue插件大全汇总

    Vue是一个构建数据驱动的 web 界面的渐进式框架.Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件特别整理了常用的vue插件,来了个大汇总,方便查找使用,便于工作 ...

  2. FreeRadius+GoogleAuthenticator实现linux动态口令认证

    简介 在运维管理中,服务器的密码管理十分重要.服务器数量少的时候还好说,可以定时来改密码.一旦数量多了,再来改密码就不现实了. 前提 我们假定运维访问服务器是这样的: 创建一个普通用户用于登录服务器, ...

  3. 干掉win10自带的不给力的应用(转自https://jingyan.baidu.com/article/08b6a591b7398514a8092238.html)

    1.右键以管理员身份运行Windows power shell,(怎么找到Windows power shell?按下win键,直接搜索就有了) 2.在应用中输入命令 Get-AppXPackage ...

  4. jenkins部署前后端分离的vue项目

    1 General Name: 变量名. 类似给分支起一个名字的意思, 可随意取 Description: 描述, 非必填 Parameter Type: 选择 Branch or Tag Defau ...

  5. debian apache2 多端口对应多文件 虚拟端口配置

    apache2单IP多端口创建虚拟站点如下: 1.转到配制目录虚拟站点配制目录 cd /etc/apache2/ ​ 2.配置新增多的端口 编辑上级目录中的端口配制文件sudo gedit ports ...

  6. js中各种弹窗

    ** * JS提示跳转 * @param  $tip  弹窗口提示信息(为空没有提示) * @param  $type 设置类型 close = 关闭 ,back=返回 ,refresh=提示重载,j ...

  7. CUDA编程模型——组织并行线程2 (1D grid 1D block)

    在”组织并行编程1“中,通过组织并行线程为”2D grid 2D block“对矩阵求和,在本文中通过组织为 1D grid 1D block进行矩阵求和.一维网格和一维线程块的结构如下图: 其中,n ...

  8. 解决oracle11G密码过期问题

    Oracle提示错误消息ORA-28001: the password has expired,是由于Oracle11G的新特性所致, Oracle11G创建用户时缺省密码过期限制是180天(即6个月 ...

  9. asp.net 实现后台异步处理的方式

    问题描述: 刚刚开发的一个页面,使用的NET的MVC4.5框架,因为页面数据加载慢需要优化,页面上有8个请求,但是请求并没有什么相互依赖的关系.前端使用ajax异步,但是后台并没有按照异步程序处理.解 ...

  10. spring boot 监听器实例

    在日常项目中订单创建成功后,会有类似各式各样的通知.有站内通知.短信通知.微信,app通知. 伪代码: 这里,只用伪代码示例.各式各样的通知 肯定不只一行代码.只是简化.如果后续还要增加各种各样的通知 ...