SpringBoot が注入できない他のモジュールを参照する問題を解決する

問題の説明

Mavenマルチモジュール開発を使用する場合、モジュール A はモジュール B をインポートしますが@Service@Mapper@Compoment@Configurationなどによってモジュール B に注入することはできません。コンテナーにクラスを配置できるアノテーションを考える限り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 プロジェクトを開始した後、フレームワーク モジュールの Bean をスキャンできません...

ソリューション 1

2 つのモジュールのスタートアップ クラス パッケージ パスが一致していることを確認します。

ブログ モジュール パッケージ パス:com.hsqyz

フレームワーク モジュール パッケージ パス:com.hsqyz

ソリューション 2

@SpringBootApplication属性を使用してscanBasePackages、パッケージのスキャン パスを指定します

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

または、属性を使用して@ComponentScanパッケージvalueのスキャン パスを指定します。

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

おすすめ

転載: blog.csdn.net/qq_31762741/article/details/126563900