springBoot不同module之間互相依賴的實現(xiàn)
在 Spring Boot 多模塊項目中,不同模塊之間的依賴通常是通過 Maven 或 Gradle 來管理的。以下是一個示例結(jié)構(gòu)和如何設置這些依賴的示例。
項目結(jié)構(gòu)
假設我們有一個多模塊的 Spring Boot 項目,結(jié)構(gòu)如下:
my-springboot-project │ ├── pom.xml // 父 POM 文件 ├── module-a │ ├── pom.xml // Module A 的 POM 文件 │ └── src │ └── main │ └── java │ └── com.example.modulea │ └── ModuleAApplication.java │ ├── module-b │ ├── pom.xml // Module B 的 POM 文件 │ └── src │ └── main │ └── java │ └── com.example.moduleb │ └── ModuleBApplication.java │ └── module-c ├── pom.xml // Module C 的 POM 文件 └── src └── main └── java └── com.example.modulec └── ModuleCApplication.java
父 POM 文件(my-springboot-project/pom.xml)
在父 POM 文件中,定義所有子模塊和共有的依賴。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>my-springboot-project</artifactId> <version>1.0.0</version> <packaging>pom</packaging> <modules> <module>module-a</module> <module>module-b</module> <module>module-c</module> </modules> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.7.0</version> <type>pom</type> <scope>import</scope> </dependency> <!-- 其他共有的依賴 --> </dependencies> </dependencyManagement> <build> <pluginManagement> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </pluginManagement> </build> </project>
模塊 A 的 POM 文件(module-a/pom.xml)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.example</groupId> <artifactId>my-springboot-project</artifactId> <version>1.0.0</version> </parent> <artifactId>module-a</artifactId> <dependencies> <!-- 依賴于 Spring Boot 和其他公共庫 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> </dependencies> </project>
模塊 B 的 POM 文件(module-b/pom.xml)
模塊 B 依賴于模塊 A,因此在它的 POM 文件中要添加對模塊 A 的依賴。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://www.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.example</groupId> <artifactId>my-springboot-project</artifactId> <version>1.0.0</version> </parent> <artifactId>module-b</artifactId> <dependencies> <dependency> <groupId>com.example</groupId> <artifactId>module-a</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> </dependencies> </project>
模塊 C 的 POM 文件(module-c/pom.xml)
模塊 C 也可以依賴于其他模塊,如模塊 A 和 B。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://www.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.example</groupId> <artifactId>my-springboot-project</artifactId> <version>1.0.0</version> </parent> <artifactId>module-c</artifactId> <dependencies> <dependency> <groupId>com.example</groupId> <artifactId>module-a</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>com.example</groupId> <artifactId>module-b</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> </dependencies> </project>
依賴解析
- 父 POM 文件:定義了所有模塊的公共依賴和配置。
- 子模塊 POM 文件:繼承自父 POM 文件,可以定義特定于該模塊的依賴,并可以依賴其他模塊。
通過這種方式,每個模塊可以獨立開發(fā)、測試和運行,但仍然可以共享公共配置和依賴,從而減少重復代碼和配置。
到此這篇關于springBoot不同module之間互相依賴的實現(xiàn)的文章就介紹到這了,更多相關springBoot不同module互相依賴內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
springboot項目啟動的時候,運行main方法報錯NoClassDefFoundError問題
這篇文章主要介紹了springboot項目啟動的時候,運行main方法報錯NoClassDefFoundError問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01Java二叉搜索樹遍歷操作詳解【前序、中序、后序、層次、廣度優(yōu)先遍歷】
這篇文章主要介紹了Java二叉搜索樹遍歷操作,結(jié)合實例形式詳細分析了Java二叉搜索樹前序、中序、后序、層次、廣度優(yōu)先遍歷等相關原理與操作技巧,需要的朋友可以參考下2020-03-03詳解Java中Dijkstra(迪杰斯特拉)算法的圖解與實現(xiàn)
Dijkstra(迪杰斯特拉)算法是典型的單源最短路徑算法,用于計算一個節(jié)點到其他所有節(jié)點的最短路徑。本文將詳解該算法的圖解與實現(xiàn),需要的可以參考一下2022-05-05