Maven模块化开发,spring无法注入其它模块中的接口
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven模块化开发,spring无法注入其它模块中的接口相关的知识,希望对你有一定的参考价值。
1、使用Maven构建模块化项目,分为web,service,dao模块,web依赖service,service依赖dao模块
2、在web模块中可以引用service模块的中接口或者类,但是无法注入(可以确定:spring的配置文件扫描包路径是没有问题的)。
3、
参考技术A maven多模块之间需要依赖解决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")
以上是关于Maven模块化开发,spring无法注入其它模块中的接口的主要内容,如果未能解决你的问题,请参考以下文章