idea 多模块build_[史上最详细]springboot创建基于maven的多模块项目
背景
項目為什么需要用多模塊?springmvc難道還不夠我們平常使用嗎?
設計模式真言:“高內聚、低耦合”,springmvc項目,一般會把項目分成多個包:controller、service、dao、util等,但是隨著項目的復雜性提高,想復用其他一個模塊的話,因為是包的形式,剝離出來會比較困難,耦合性有點強,常用的方法就是復制代碼修改,但是這樣會做很多無用功與增加出錯幾率。
springboot多模塊簡單來說,就是把按包分模塊的模式,借助maven升級到jar的方式,抽象性更加強了,假如jar再升級到到war或者多個集合jar,就成微服務了,在多模塊jar模式下可以將某個jar拿出來對外共用,能大大提高代碼復用率與開發效率。
springboot多模塊創建
父模塊創建
打開idea:選擇Create New Project
或者去官網創建(跟idea創建項目是一樣的,我這里用的是idea)
然后選擇Spring Initializr
點擊next之后—>基本設置
點擊next之后->添加依賴
點擊next之后->選擇項目地址
點擊finish之后
子模塊創建
父項目名稱->右鍵->new->moudle
點擊Spring Initializr(選擇合適jdk版本)->next
點擊next之后->設置Maven Project 而不是跟父項目相同的Maven Pom
點擊next之后->添加依賴
點擊next->選擇確認項目地址
點擊finish完成
然后再創建一個子模塊multi-core 過程跟multi-controller一樣,我這里就省略了。我們這里就暫時創建兩個子模塊。
項目創建完成整體結構圖
注:由于程序的主入口是multi-controller 所有 multi-core里面 application.properties MultiCoreApplication.java 文件都刪除了
修改pom文件
1.修改父項目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.0modelVersion>
????<parent>
????????<groupId>org.springframework.bootgroupId>
????????<artifactId>spring-boot-starter-parentartifactId>
????????<version>2.4.1version>
????????<relativePath/>?
????parent>
????<groupId>com.tinygraygroupId>
????<artifactId>multi-parentartifactId>
????<version>0.0.1-SNAPSHOTversion>
????<name>multi-parentname>
????<description>Demo?project?for?Spring?Bootdescription>
????
????<packaging>pompackaging>
????
????<modules>
????????<module>multi-controllermodule>
????????<module>multi-coremodule>
????modules>
????
????<properties>
????????<java.version>1.8java.version>
????properties>
????<dependencies>
????????
????????<dependency>
????????????<groupId>org.springframework.bootgroupId>
????????????<artifactId>spring-boot-starter-webartifactId>
????????dependency>
????????<dependency>
????????????<groupId>org.springframework.bootgroupId>
????????????<artifactId>spring-boot-starterartifactId>
????????dependency>
????????<dependency>
????????????<groupId>org.projectlombokgroupId>
????????????<artifactId>lombokartifactId>
????????????<optional>trueoptional>
????????dependency>
????????<dependency>
????????????<groupId>org.springframework.bootgroupId>
????????????<artifactId>spring-boot-starter-testartifactId>
????????????<scope>testscope>
????????dependency>
????????<dependency>
????????????
????????????<groupId>org.springframework.bootgroupId>
????????????<artifactId>spring-boot-testartifactId>
????????????<version>2.0.1.RELEASEversion>
????????????<scope>testscope>
????????dependency>
????dependencies>
project>
2.修改子項目pom
multi-controller
<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.0modelVersion>
????<artifactId>multi-controllerartifactId>
????<version>0.0.1-SNAPSHOTversion>
????<name>multi-controllername>
????<description>Demo?project?for?Spring?Bootdescription>
????
????<parent>
????????<artifactId>multi-parentartifactId>
????????<groupId>com.tinygraygroupId>
????????<version>0.0.1-SNAPSHOTversion>
????parent>
???
????<dependencies>
????????
????????<dependency>
????????????<groupId>com.tinygraygroupId>
????????????<artifactId>multi-coreartifactId>
????????????<version>0.0.1-SNAPSHOTversion>
????????dependency>
????dependencies>
????<build>
????????<plugins>
????????????<plugin>
????????????????<groupId>org.springframework.bootgroupId>
????????????????<artifactId>spring-boot-maven-pluginartifactId>
????????????????<configuration>
????????????????????<mainClass>com.tinygray.multicontroller.MultiControllerApplicationmainClass>
????????????????????<layout>JARlayout>
????????????????configuration>
????????????plugin>
????????plugins>
????build>
project>
multi-core
<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.0modelVersion>
????<artifactId>multi-coreartifactId>
????<version>0.0.1-SNAPSHOTversion>
????<name>multi-corename>
????<description>Demo?project?for?Spring?Bootdescription>
????
????<parent>
????????<artifactId>multi-parentartifactId>
????????<groupId>com.tinygraygroupId>
????????<version>0.0.1-SNAPSHOTversion>
????parent>
????
????<dependencies>
????????
????dependencies>
project>
springboot多模塊創建完成之后驗證啟動
驗證
你如何知道你的多模塊項目搭建完成并能成功啟動了呢?看下圖:
出現以上圖片結果就是你的多模塊項目創建完成了并可以啟動了
啟動
找到啟動類
執行啟動類
執行成功
瀏覽器打開?http://localhost:8080
出現以上結果表示多模塊項目已經搭建完成了
寫一個測試接口訪問
創建兩個java文件(一個實體類User一個UserController)
User.java、UserController.java文件內容-很簡單一個測試接口
瀏覽器輸入http://localhost:8080/user/getUserInfo
出現以上結果就表示測試成功了。
項目地址:
搜索公眾號:Madison龍少
回復?springboot-multi-module?獲取資源
結束語
掃碼關注我們
公眾號|Madison龍少
微信號|公眾號點擊'聯系方式'菜單獲取
期待你的
分享
點贊
在看
總結
以上是生活随笔為你收集整理的idea 多模块build_[史上最详细]springboot创建基于maven的多模块项目的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: codeblocks如何导入项目_T3如
- 下一篇: NFC芯片SI512兼容替换PN512读