SpringBoot 中 Mapper无法注入的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot 中 Mapper无法注入的问题相关的知识,希望对你有一定的参考价值。
参考技术A 昨天碰到一个很奇怪的问题,当我的mapper.xml 与 mapper接口 都没有任何问题时,依旧报mapper无法注入的错解决SpringBoot引用别的模块无法注入的问题
问题描述
在使用 Maven
多模块开发的时候,A模块引入B模块,却无法注入B模块中被@Service
、@Mapper
、@Compoment
、@Configuration
等,只要是你能想到能将类放置在Spring
容器中的注解,都是无法在A模块中注入进来。
父工程
<modules>
<module>blog</module>
<module>admin</module>
<module>framework</module>
</modules>
目录结构
Blog
模块 引入 framework
模块
<dependencies>
<dependency>
<groupId>com.hsqyz</groupId>
<artifactId>framework</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
但是Blog项目启动之后就是无法扫描到framework模块的Bean…
解决方案一
确保两个模块的启动类包路径一致性:
blog模块包路径:com.hsqyz
framework模块包路径:com.hsqyz
解决方案二
利用@SpringBootApplication
的scanBasePackages
属性指定包的扫描路径
@SpringBootApplication(scanBasePackages = "com.hsqyz.blog","com.hsqyz.framework")
或者使用@ComponentScan
的value
属性指定包的扫描路径
@ComponentScan(value = "com.hsqyz.blog","com.hsqyz.framework")
以上是关于SpringBoot 中 Mapper无法注入的问题的主要内容,如果未能解决你的问题,请参考以下文章
关于SpringBoot集成myBatis时,mapper接口注入失败的问题