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

解决方案二

利用@SpringBootApplicationscanBasePackages 属性指定包的扫描路径

@SpringBootApplication(scanBasePackages = "com.hsqyz.blog","com.hsqyz.framework")

或者使用@ComponentScanvalue属性指定包的扫描路径

@ComponentScan(value = "com.hsqyz.blog","com.hsqyz.framework")

以上是关于SpringBoot 中 Mapper无法注入的问题的主要内容,如果未能解决你的问题,请参考以下文章

解决SpringBoot引用别的模块无法注入的问题

解决SpringBoot引用别的模块无法注入的问题

解决SpringBoot引用别的模块无法注入的问题

关于SpringBoot集成myBatis时,mapper接口注入失败的问题

springBoot Interceptor拦截器注入mapper 为null

springboot @Autowired mapper 爆红解决方案,超详细,罗列各种情况