SpringBoot多模塊搭建的實(shí)現(xiàn)示例
一、SpringBoot多模塊介紹
Spring Boot是一個用于快速開發(fā)基于Spring框架的應(yīng)用程序的工具。多模塊開發(fā)是指將一個大型應(yīng)用程序拆分為多個模塊(或子項目),每個模塊負(fù)責(zé)不同的功能或業(yè)務(wù)邏輯。在Spring Boot中,多模塊開發(fā)可以幫助我們更好地組織代碼、提高代碼的可維護(hù)性和可擴(kuò)展性。
在Spring Boot中,可以使用Maven或Gradle等構(gòu)建工具來創(chuàng)建多模塊項目。每個模塊可以包含自己的源代碼、配置文件和依賴項,同時也可以有自己的打包方式和部署方式。在多模塊開發(fā)中,通常會有一個父模塊(或者稱為根模塊),用于管理所有子模塊之間的依賴關(guān)系和版本控制。
通過多模塊開發(fā),我們可以將不同功能的代碼分離到不同的模塊中,使得代碼更加清晰和易于管理。同時,每個模塊可以獨(dú)立進(jìn)行測試、構(gòu)建和部署,有利于團(tuán)隊協(xié)作和項目的持續(xù)集成與部署。
總的來說,Spring Boot多模塊開發(fā)可以幫助我們更好地組織和管理代碼,提高開發(fā)效率和代碼質(zhì)量,是一個非常實(shí)用的開發(fā)方式。
二、搭建多模塊
我們按照功能搭建多模塊
1. 我們先建立父模塊

這里我們什么都不用選直接點(diǎn)擊create

2、創(chuàng)建子模塊
父項目名稱->右鍵->new->moudle

依次創(chuàng)建provide1、provide2、common、server,一樣不用選如何依賴

將common、provide1、provide2的啟動類和框出來的這些都刪除

在父模塊的pom里面聲明子模塊
<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>demo</description>
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring-boot.version>2.6.13</spring-boot.version>
</properties>
<!---父模塊的打包方式-->
<packaging>pom</packaging>
<!--將子模塊放在一堆-->
<modules>
<module>provide1</module>
<module>provide2</module>
<module>server</module>
<module>common</module>
</modules>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.example</groupId>
<artifactId>common</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.example</groupId>
<artifactId>server</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.example</groupId>
<artifactId>provide1</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.example</groupId>
<artifactId>provide2</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>
在每一個子模塊的pom文件進(jìn)行修改
- common模塊里面放入通用的依賴
<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>demo</artifactId>
<groupId>com.example</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>common</artifactId>
<description>通用模塊</description>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
- server模塊
<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>demo</artifactId>
<groupId>com.example</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>server</artifactId>
<description>啟動模塊</description>
<dependencies>
<dependency>
<groupId>com.example</groupId>
<artifactId>provide1</artifactId>
</dependency>
<dependency>
<groupId>com.example</groupId>
<artifactId>provide2</artifactId>
</dependency>
</dependencies>
</project>
- provide1模塊
<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>demo</artifactId>
<groupId>com.example</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>provide1</artifactId>
<description>provide1模塊</description>
<dependencies>
<dependency>
<groupId>com.example</groupId>
<artifactId>common</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
- provide2模塊
<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>demo</artifactId>
<groupId>com.example</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>provide2</artifactId>
<description>provide2模塊</description>
<dependencies>
<dependency>
<groupId>com.example</groupId>
<artifactId>common</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
在provide1里面創(chuàng)建一個resource再創(chuàng)建一個application.yml寫一個端口號
server: port: 8081

這樣模塊就搭建成功了
到此這篇關(guān)于SpringBoot多模塊搭建的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)SpringBoot多模塊搭建內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringBoot多模塊掃描包問題及解決
- SpringBoot多模塊自動配置失效問題的解決方案
- SpringBoot多模塊如何統(tǒng)一管理
- 多模塊的springboot項目發(fā)布指定模塊的腳本方式
- idea創(chuàng)建Springboot多模塊項目(聚合項目)
- springboot的maven多模塊混淆jar包的實(shí)現(xiàn)方法
- springboot項目父子多模塊打包方式
- SpringBoot多模塊打包部署Docker的項目實(shí)戰(zhàn)
- springboot結(jié)合maven實(shí)現(xiàn)多模塊打包
- SpringBoot單體多模塊項目環(huán)境搭建
相關(guān)文章
Java對世界不同時區(qū)timezone之間時間轉(zhuǎn)換的處理方法
這篇文章主要介紹了Java對世界不同時區(qū)timezone之間時間轉(zhuǎn)換的處理方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
使用Java WebSocket獲取客戶端IP地址的示例代碼
在開發(fā)Web應(yīng)用程序時,我們通常需要獲取客戶端的 IP 地址用于日志記錄、身份驗(yàn)證、限制訪問等操作,本文將介紹如何使用Java WebSocket API獲取客戶端IP地址,以及如何在常見的WebSocket框架中獲得客戶端 IP地址,需要的朋友可以參考下2023-11-11
從內(nèi)存模型中了解Java final的全部細(xì)節(jié)
關(guān)于final關(guān)鍵字,它也是我們一個經(jīng)常用的關(guān)鍵字,可以修飾在類上、或者修飾在變量、方法上,以此看來定義它的一些不可變性!像我們經(jīng)常使用的String類中,它便是final來修飾的類,并且它的字符數(shù)組也是被final所修飾的。但是一些final的一些細(xì)節(jié)你真的了解過嗎2022-03-03
Java實(shí)現(xiàn)PDF在線預(yù)覽功能(四種方式)
這篇文章主要介紹了Java實(shí)現(xiàn)PDF在線預(yù)覽功能的四種方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10

