日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

        歡迎訪問 生活随笔!

        生活随笔

        當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

        编程问答

        idea 多模块build_[史上最详细]springboot创建基于maven的多模块项目

        發布時間:2023/12/10 编程问答 39 豆豆
        生活随笔 收集整理的這篇文章主要介紹了 idea 多模块build_[史上最详细]springboot创建基于maven的多模块项目 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
        點擊藍字 關注我們?

        背景

        項目為什么需要用多模塊?springmvc難道還不夠我們平常使用嗎?

      1. 設計模式真言:“高內聚、低耦合”,springmvc項目,一般會把項目分成多個包:controller、service、dao、util等,但是隨著項目的復雜性提高,想復用其他一個模塊的話,因為是包的形式,剝離出來會比較困難,耦合性有點強,常用的方法就是復制代碼修改,但是這樣會做很多無用功與增加出錯幾率。

      2. springboot多模塊簡單來說,就是把按包分模塊的模式,借助maven升級到jar的方式,抽象性更加強了,假如jar再升級到到war或者多個集合jar,就成微服務了,在多模塊jar模式下可以將某個jar拿出來對外共用,能大大提高代碼復用率與開發效率。

      3. 話不多說開搞

        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

        <?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>

        ????<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

        <?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>

        ????<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的多模块项目的全部內容,希望文章能夠幫你解決所遇到的問題。

        如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。