最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot創(chuàng)建多module項目的實(shí)例

 更新時間:2022年02月18日 10:35:16   作者:juny0302  
這篇文章主要介紹了springboot創(chuàng)建多module項目的實(shí)例代碼,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

使用springboot創(chuàng)建多module項目,以前也做過多次,一段時間不用又忘了,在這里做個記錄

項目名稱作用說明
demo-root根項目父項目,只用來管理其他module,提供基礎(chǔ)的pom配置
demo-api啟動項目api項目,啟動類放在此項目中
demo-common通用工具只放一些通用代碼、工具類等

項目名稱作用說明demo-root根項目父項目,只用來管理其他module,提供基礎(chǔ)的pom配置demo-api啟動項目api項目,啟動類放在此項目中demo-common通用工具只放一些通用代碼、工具類等

創(chuàng)建項目

創(chuàng)建demo-parent

創(chuàng)建過程一路next即可

項目建好后,刪掉src目錄,因為不需要在根項目中寫代碼

創(chuàng)建demo-api

創(chuàng)建過程跟root項目基本一致,所不同的是,需要右鍵點(diǎn)擊根項目,然后在彈出菜單中選擇new–> module

以后的過程跟root項目一樣,略…

創(chuàng)建demo-common

過程跟demo-api一樣,略…

修改各個項目的pom文件

創(chuàng)建過程很簡單,這一步才是重點(diǎn)

修改demo-root的pom.xml

<?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>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>demo-root</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo-root</name>
    <description>Demo project for Spring Boot</description>
    <!-- 配置打包類型,不寫默認(rèn)是jar,一般來說所有的父級項目的packaging都為pom -->
    <packaging>pom</packaging>
    <!-- 添加管理的包 -->
    <modules>
        <module>demo-api</module>
        <module>demo-common</module>
    </modules>
    <properties>
        <!-- 設(shè)置項目編碼 -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <!-- maven 插件版本 -->
        <maven.compiler.plugin.version>3.1</maven.compiler.plugin.version>
        <java.version>1.8</java.version>
    </properties>
    <!-- 根據(jù)自己的需要添加依賴包,注意:root中添加的依賴包會繼承到root所管理的所有module中 -->
    <dependencies>
        <!-- SpringBoot 核心包 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <!-- SpringBoot Web容器 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- SpringBoot 攔截器 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
        <!-- spring-boot-devtools -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional> <!-- 表示依賴不會傳遞 -->
        </dependency>
        <!-- spring security 安全認(rèn)證 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <!-- SpringBoot 測試 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!-- redis 緩存操作 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
    </dependencies>
<!--    <build>-->
<!--        <plugins>-->
<!--            <plugin>-->
<!--                <groupId>org.springframework.boot</groupId>-->
<!--                <artifactId>spring-boot-maven-plugin</artifactId>-->
<!--            </plugin>-->
<!--        </plugins>-->
<!--    </build>-->
<!-- 重點(diǎn): spring-boot-maven-plugin能夠?qū)pring Boot應(yīng)用打包為可執(zhí)行的jar或war文件,root不需要,所以改成maven打包-->
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven.compiler.plugin.version}</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

修改demo-api的pom.xml

注意我們沒有指定打包類型,所以默認(rèn)打成jar包

<?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改成我們自己的root -->
<!--    <parent>-->
<!--        <groupId>org.springframework.boot</groupId>-->
<!--        <artifactId>spring-boot-starter-parent</artifactId>-->
<!--        <version>2.3.1.RELEASE</version>-->
<!--        <relativePath/> &lt;!&ndash; lookup parent from repository &ndash;&gt;-->
<!--    </parent>-->
    <parent>
        <groupId>com.example</groupId>
        <artifactId>demo-root</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </parent>
    <!-- 可以繼承root -->
<!--    <groupId>com.example</groupId>-->
    <artifactId>demo-api</artifactId>
    <!-- 可以繼承root -->
<!--    <version>0.0.1-SNAPSHOT</version>-->
    <name>demo-api</name>
    <description>Demo project for Spring Boot</description>
    <!-- 可以繼承root -->
<!--    <properties>-->
<!--        <java.version>1.8</java.version>-->
<!--    </properties>-->
    <dependencies>
        <!-- 添加自己的依賴包 -->
        <dependency>
            <groupId>com.example</groupId>
            <artifactId>demo-common</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
    </dependencies>
    <!-- 重點(diǎn) -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <!-- 當(dāng)所依賴的其他模塊,有啟動類的時候,需要以下配置,指定唯一啟動類-->
                <configuration>
                    <!-- 指定該Main Class為全局的唯一入口 -->
                    <mainClass>com.example.demoapi.DemoApiApplication</mainClass>
                    <layout>ZIP</layout>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <!--可以把依賴的包都打包到生成的Jar包中-->
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

修改demo-common的pom.xml

<?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>
    <!-- 跟demo-api一樣,干掉原來的,使用我們自己的 -->
<!--    <parent>-->
<!--        <groupId>org.springframework.boot</groupId>-->
<!--        <artifactId>spring-boot-starter-parent</artifactId>-->
<!--        <version>2.3.1.RELEASE</version>-->
<!--        <relativePath/> &lt;!&ndash; lookup parent from repository &ndash;&gt;-->
<!--    </parent>-->
    <parent>
        <groupId>com.example</groupId>
        <artifactId>demo-root</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </parent>
    <artifactId>demo-common</artifactId>
    <name>demo-common</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <!-- 添加自己的 -->
        <mybatis-plus.version>3.3.1</mybatis-plus.version>
    </properties>
    <dependencies>
        <!-- 添加自己的 -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>${mybatis-plus.version}</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-extension</artifactId>
            <version>${mybatis-plus.version}</version>
        </dependency>
    </dependencies>
<!-- 重點(diǎn):刪掉原來的,原因還是不需要可運(yùn)行 -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

至此所有配置都已經(jīng)完成,可以打包試試

[INFO] Reactor Summary:
[INFO] 
[INFO] demo-root .......................................... SUCCESS [  0.001 s]
[INFO] demo-common ........................................ SUCCESS [  1.599 s]
[INFO] demo-api ........................................... SUCCESS [  0.711 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.705 s
[INFO] Finished at: 2020-06-13T09:58:53+08:00
[INFO] Final Memory: 47M/334M
[INFO] ------------------------------------------------------------------------

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • springboot返回html和jsp的方法示例

    springboot返回html和jsp的方法示例

    這篇文章主要介紹了springboot返回html和jsp的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Spring Boot整合SSE實(shí)時通信的問題小結(jié)

    Spring Boot整合SSE實(shí)時通信的問題小結(jié)

    本文介紹了服務(wù)器發(fā)送事件(Server-Sent Events,SSE)技術(shù),其主要特點(diǎn)包括單向數(shù)據(jù)流、自動重連、自定義事件類型等,SSE適用于實(shí)時更新場景,如新聞推送、評論系統(tǒng)等,感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • java線程安全鎖ReentrantReadWriteLock原理分析readLock

    java線程安全鎖ReentrantReadWriteLock原理分析readLock

    這篇文章主要為大家介紹了java線程安全鎖ReentrantReadWriteLock原理分析readLock,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • RabbitMQ實(shí)現(xiàn)消費(fèi)端限流的步驟

    RabbitMQ實(shí)現(xiàn)消費(fèi)端限流的步驟

    消費(fèi)者端限流的主要目的是控制消費(fèi)者每次從 RabbitMQ 中獲取的消息數(shù)量,從而實(shí)現(xiàn)消息處理的流量控制,這篇文章主要介紹了RabbitMQ如何實(shí)現(xiàn)消費(fèi)端限流,需要的朋友可以參考下
    2024-03-03
  • Java 中IO流字符流詳解及實(shí)例

    Java 中IO流字符流詳解及實(shí)例

    這篇文章主要介紹了Java 中IO流字符流詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • MapReduce實(shí)現(xiàn)TopN效果示例解析

    MapReduce實(shí)現(xiàn)TopN效果示例解析

    這篇文章主要為大家介紹了MapReduce實(shí)現(xiàn)TopN效果示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • 關(guān)于Swagger注釋API的使用說明

    關(guān)于Swagger注釋API的使用說明

    這篇文章主要介紹了關(guān)于Swagger注釋API的使用說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • ssm開發(fā)使用redis作為緩存的使用步驟

    ssm開發(fā)使用redis作為緩存的使用步驟

    在開發(fā)中經(jīng)常遇到大量的重復(fù)的,高并發(fā)的查詢,此時可以使用redis緩存。這篇文章主要介紹了ssm開發(fā)使用redis作為緩存的使用步驟,感興趣的小伙伴們可以參考一下
    2018-11-11
  • springboot接口如何多次獲取request中的body內(nèi)容

    springboot接口如何多次獲取request中的body內(nèi)容

    這篇文章主要介紹了springboot接口多次獲取request中的body內(nèi)容的過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java9中接口的私有方法詳解

    Java9中接口的私有方法詳解

    印象中Java?接口就沒有論述私有方法這回事。既然?Java?9?添加了這項特性,那么,應(yīng)該就有它的用途,我們一起來看看?Java?9?中的接口的私有方法是什么樣的吧
    2023-04-04

最新評論

张北县| 招远市| 南宫市| 九江市| 云安县| 满洲里市| 新安县| 山东省| 蚌埠市| 阿坝| 宁明县| 镇赉县| 乌鲁木齐县| 易门县| 西乌珠穆沁旗| 梅河口市| 美姑县| 安吉县| 湘潭县| 祁东县| 赫章县| 雷山县| 涪陵区| 通城县| 响水县| 寿阳县| 金塔县| 三台县| 阿城市| 岗巴县| 陕西省| 商丘市| 鹿泉市| 咸丰县| 大港区| 兰考县| 泸西县| 宜州市| 台湾省| 上饶县| 科尔|