當前位置:編程學習大全網 - 編程語言 - SpringBoot多模塊項目(Multi-Modules)

SpringBoot多模塊項目(Multi-Modules)

經常看到GitHub上的壹些官方demo,為了展示很多功能,項目是由多模塊的形式組織的,基於maven構建的形式為根文件夾下有個pom.xml,每個功能文件夾下又有pom.xml。

剛開始傻傻不會用的時候,直接引入子文件夾下的pom.xml為maven項目。然後有需要看另壹個功能又打開了壹個子模塊,因為IDE用的是idea,變成了多窗口。後來發現直接打開父模塊接可以了,各個子模塊可以在同壹個窗口下切換和啟動。

以下最簡單的建壹個多模塊項目,為了學習微服務,將建兩個springboot web的子模塊,服務提供者provider和消費者consumer。

兩個服務在同個idea窗口中開發和啟動,測試調用consumer的服務,consumer內部會調用provider。

new Module - > spring initializr,分別新增artifactId為provider和consumer,放在springbootmodules目錄之下:

因為兩個SpringBoot項目都默認是8080端口,為了能同時啟動,調整consumer的端口為8081,在consumer的application.properties中添加server.port=8081

在provider和consumer分別新增兩個controller: ProviderController和ConsumerController,返回最簡單的字符串。

ProviderController.java:

ConsumerController中為了調用provider( http://localhost:8081/provider ),使用了spring的RestTemplate做http客戶端,多配置了RestTemplate的Bean

父pom.xml現在只有管理兩個子模塊的作用,可以抽取子模塊統壹的配置信息和依賴版本控制放父模塊中管理。

父pom.xml:

子模塊pom.xml,設置parent為springbootmodules:

使用mvn clean package命令,或點擊idea maven窗口功能,把兩個子模塊打成jar包:

使用java -jar命令啟動兩個服務:

兩個服務都正常啟動,並且服務消費者consumer調用服務提供者provider正常:

  • 上一篇:求試題,17屆NOIP(C語言)普及組初賽試題
  • 下一篇:Android studio為什麽這麽垃圾
  • copyright 2024編程學習大全網