springboot+dubbo+mybatis多模块项目invalid boundexception
invalid boundexception的原因大抵是因为mybatis扫描不到mapper映射文件(xml),无法将mapper接口类(java)中的接口与mapper映射器绑定起来。这可能是因为target/classes的对应目录下根本就没有mapper的映射文件,也有可能是因为mybatis配置的路径错误。关于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的更多相关文章
- SpringBoot+Mybatis多模块项目搭建教程
		一.前言 框架为SpringBoot+Mybatis,本篇主要记录了在IDEA中搭建SpringBoot多模块项目的过程. 1.开发工具及系统环境 IDE:IntelliJ IDEA 2018.2 系 ... 
- springboot创建maven多模块项目
		SpringBoot创建maven多模块项目 项目结构 该项目名称为springboot-maven-multi,由springboot-maven-multi.user-dao.user-domai ... 
- SpringBoot&Dubbo&Zookeeper远程调用项目搭建
		序言 Dubbo一款分布式服务框架,作为阿里巴巴SOA服务化治理方案的核心框架,通过高性能和透明化的RPC实现服务的远程调用,对服务的负载均衡以及项目的耦合性提供很强的解决方式;具体Dubbo的介绍和 ... 
- SpringBoot+Gradle构建多模块项目
		1 概述 Gradle由于构建速度比Maven快,且比Maven灵活,因此很多后端的应用都使用了Gradle进行构建,但一个问题是,Gradle的多模块项目比较难构建,再加上Gradle的更新非常快, ... 
- springboot的maven多模块项目架构微服务搭建——依赖方式的多模块演化为微服务项目
		在上一篇依赖方式多模块的基础上对项目进行改造.主要改造user-service项目,service要配置mapper.mybatis及数据库相关的东西,后面的接口消费方user就不再需要了 注意:以下 ... 
- springboot的maven多模块项目架构微服务搭建——构建多模块项目(依赖方式)
		总想对微服务架构做一个小小的总结,不知如何下手,最近觉得还是从搭建微服务的过程来入手,对于springboot的maven项目从构建多模块架构进而衍化为常用的微服务架构来做个记录吧. 首先,创建多个s ... 
- Springboot:单元测试多模块项目不同模块组件不能@autowired问题
		博主在写springboot单元测试的时候使用@Autowired失效,显示为null 下面是项目架构 api为接口模块,service为实现类模块,测试类写在service模块下. 这是测试类,使用 ... 
- Spring Boot + MyBatis 多模块项目搭建教程
		一.前言 1.开发工具及系统环境 IDE:IntelliJ IDEA 2020.2.2 系统环境:Windows 2.项目目录结构 biz层:业务逻辑层 dao层:数据持久层 web层:请求处理层 二 ... 
- springboot+mysql+mybatis+Mybatis-Generator+druid 项目demo
		1.使用idea新建项目 2.使用Mybatis-Generator自动生成Dao.Model.Mapping相关文件 3.配置application.yml文件 server: port: 8080 ... 
随机推荐
- C#工具类:Json操作帮助类(转载)
			原文转载自C#工具类:Json操作帮助类_IT技术小趣屋. Json序列化和反序列化在程序开发中时常会遇到,在C#中可以使用很多种方法实现对数据的Json序列化和反序列化,封装一个Json操作工具类来 ... 
- Docker端口映射与容器互联
			Docker提供了两个功能来满足访问的基本需求:一是允许映射容器内应用的服务端口到本地宿主主机:另一个是互联机制实现多个容器间通过容器名来快速实现访问. 一.端口映射实现访问容器 当容器中运行一些网络 ... 
- 3.Qt GUI中一些操作记录
			一.如何在Widget中利用代码添加背景图片 this->setAutoFillBackground(true); // QPalette palette = this->palette( ... 
- Kong(V1.0.2)loadbalancing
			介绍 Kong为多个后端服务提供了多种负载平衡请求的方法:一种简单的基于DNS-based的方法,以及一种更动态的环形负载均衡器ring-balancer,它还允许在不需要DNS服务器的情况下使用se ... 
- 搭建vsftpd服务
			配置文件 anonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022dirmessage_enable=YESxferlog_ ... 
- 知识点:tuple 元素真的不可变吗
			tuple 元素真的不可变吗 有一种有序列表叫元组:tuple. tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出单位或同学的名字: >>> clas ... 
- Excel 2016 密码保护破解
			Excel 2016的密码保护可以区分为几个: 文件密码保护(Excel中叫做工作簿保护) 文件打开权限密码 文件修改权限密码 工作表保护 关于各个保护密码的设置方式请查阅其他资料,我的情况是之前自己 ... 
- TensorFlow实现回归
			数据:fetch_california_housing(加利福尼亚的房价数据) 1.解析解法 import tensorflow as tf import numpy as np from sklea ... 
- gradle项目
			gradle构建web项目 0.安装gradle http://services.gradle.org/distributions/ 下载对应版本:gradle-5.2.1-bin.zip 解压到自定 ... 
- (转)GraphicsMagick、命令行使用示例
			GraphicsMagick是从 ImageMagick 5.5.2 分支出来的,但是现在他变得更稳定和优秀,GM更小更容易安装.GM更有效率.GM的手册非常丰富GraphicsMagick的命令与I ... 
