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

解决方案二

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

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

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

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

以上是关于Maven模块化开发,spring无法注入其它模块中的接口的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

Maven多模块Spring的注入

spring boot 项目打包到maven仓库供其它模块使用

Springday01 maven依赖Spring介绍IOC模块IOC控制反转DI依赖注入SpEL表达式