SpringBoot項(xiàng)目構(gòu)建Maven標(biāo)簽及屬性用法詳解
一、序言
在 Spring Boot 項(xiàng)目中,Maven 是最常用的構(gòu)建工具之一。通過(guò) Maven,我們可以輕松地管理項(xiàng)目的依賴、構(gòu)建流程和插件。本文將詳細(xì)介紹 Maven 依賴管理中的主要標(biāo)簽及其使用方法,幫助開(kāi)發(fā)者更好地理解和使用 Maven 構(gòu)建工具。
二、Maven標(biāo)簽介紹
在 Maven 項(xiàng)目中,用于描述項(xiàng)目信息的標(biāo)簽通常位于 pom.xml 文件的<project>根元素下。這些標(biāo)簽幫助 Maven 構(gòu)建工具和其他開(kāi)發(fā)者了解項(xiàng)目的基本信息、項(xiàng)目開(kāi)發(fā)者、組織、許可證等。以下是 Maven 中常見(jiàn)的用于項(xiàng)目描述的標(biāo)簽:
項(xiàng)目描述類標(biāo)簽
1. <modelVersion>標(biāo)簽
描述: 指定 POM 文件的模型版本。對(duì)于 Maven 2 和更高版本,通常為 4.0.0。
<modelVersion>4.0.0</modelVersion>
2. <groud>標(biāo)簽
描述: 項(xiàng)目的組標(biāo)識(shí)符,通常表示組織或公司名稱。與 <artifactId> 共同唯一標(biāo)識(shí)項(xiàng)目。
<groupId>com.example</groupId>
3. <artifactId>標(biāo)簽
描述: 項(xiàng)目的工件標(biāo)識(shí)符,通常是模塊或項(xiàng)目的名稱。與 <groupId> 共同唯一標(biāo)識(shí)項(xiàng)目。
<artifactId>my-project</artifactId>
4. <version>標(biāo)簽
描述: 項(xiàng)目的版本號(hào)??梢允?1.0.0-SNAPSHOT 表示開(kāi)發(fā)中的版本,或者1.0.0表示正式版本。
<version>1.0.0-SNAPSHOT</version>
5. <packaging>標(biāo)簽
描述: 定義項(xiàng)目的打包方式。常見(jiàn)的值有 jar, war, pom 等,默認(rèn)為 jar。
<packaging>jar</packaging>
6. <name>標(biāo)簽
描述: 項(xiàng)目的名稱。
<name>My Project</name>
7. <description>標(biāo)簽
描述: 對(duì)項(xiàng)目的簡(jiǎn)要描述。通常用于進(jìn)一步解釋項(xiàng)目的功能或目的。
<description>This is a sample project to demonstrate Maven project descriptors.</description>
8. <url>標(biāo)簽
描述: 目的主頁(yè)或相關(guān)文檔的 URL。可以是項(xiàng)目的官網(wǎng)地址或代碼托管平臺(tái)的鏈接。
<description>This is a sample project to demonstrate Maven project descriptors.</description>
9. <inceptionYear>標(biāo)簽
描述: 項(xiàng)目的啟動(dòng)年份,通常用于版權(quán)聲明中。
<inceptionYear>2024</inceptionYear>
10. <organization>標(biāo)簽
描述: 定義項(xiàng)目所屬的組織信息,包括組織名稱和 URL。
<organization>
<name>Example Corp</name>
<url>https://www.example.com</url>
</organization>11. <licenses>標(biāo)簽
描述: 描述項(xiàng)目使用的許可證信息。包括許可證名稱、URL、分發(fā)方式等。
<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0</url>
<distribution>repo</distribution>
</license>
</licenses>12. <developers>標(biāo)簽
描述: 列出項(xiàng)目的開(kāi)發(fā)人員及其相關(guān)信息,如 ID、姓名、電子郵件等。
<developers>
<developer>
<id>123</id> <!-- 開(kāi)發(fā)者ID -->
<name>yjp</name> <!-- 姓名 -->
<email>yjp@example.com</email> <!-- 郵箱 -->
<organization>sis</organization> <!-- 組織 -->
<roles> <!-- 角色 -->
<role>Developer</role>
</roles>
</developer>
</developers>13. <contributors>標(biāo)簽
描述: 列出對(duì)項(xiàng)目做出貢獻(xiàn)的人員及其相關(guān)信息,類似于 ,但通常不是核心開(kāi)發(fā)人員。
<!-- 貢獻(xiàn)者信息 -->
<contributors>
<contributor>
<name>Jane Smith</name> <!-- 姓名 -->
<email>janesmith@example.com</email> <!-- 郵箱 -->
<organization>Example Corp</organization> <!-- 組織 -->
</contributor>
</contributors>14. <issueManagement>標(biāo)簽
描述: 項(xiàng)目的問(wèn)題管理系統(tǒng)的信息,如 JIRA、GitHub Issues 等。通常包括系統(tǒng)的類型和 URL。
<issueManagement>
<system>GitHub Issues</system>
<url>https://github.com/example/my-project/issues</url>
</issueManagement>15. <scm>標(biāo)簽
描述: 項(xiàng)目的源碼管理(Source Code Management)信息。包括版本控制系統(tǒng)的類型和訪問(wèn) URL。
<scm>
<url>https://github.com/example/my-project</url>
<connection>scm:git:git://github.com/example/my-project.git</connection>
<developerConnection>scm:git:ssh://git@github.com/example/my-project.git</developerConnection>
<tag>HEAD</tag>
</scm>依賴管理類標(biāo)簽
1. <dependencyManagement>標(biāo)簽
描述: <dependencyManagement>標(biāo)簽用于集中管理依賴的版本號(hào)和范圍。它不會(huì)直接引入依賴,而是為項(xiàng)目中的其他模塊提供版本號(hào)的定義,避免在各模塊中重復(fù)定義版本號(hào)。子項(xiàng)目可以在使用這些依賴時(shí),不必再次聲明版本號(hào)。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.5.4</version>
</dependency>
</dependencies>
</dependencyManagement>2. <dependencies> 和 <dependency> 標(biāo)簽
<dependencies>:該標(biāo)簽是一個(gè)容器,用于包含項(xiàng)目中所需的所有依賴。每個(gè)依賴項(xiàng)由<dependency>標(biāo)簽來(lái)定義。<dependency>:定義了一個(gè)具體的依賴項(xiàng)。通常包含以下幾個(gè)子標(biāo)簽:<groupId>:依賴的組織標(biāo)識(shí)符,通常代表某個(gè)組織或公司名稱。<artifactId>:依賴的工件標(biāo)識(shí)符,通常是模塊或項(xiàng)目的名稱。<version>:依賴的版本號(hào)。<scope>:依賴的作用域(稍后詳細(xì)介紹)。<optional>:指定該依賴是否為可選依賴,默認(rèn)值為 false。
<dependencyManagement> <!-- 依賴管理 -->
<dependencies>
<dependency>
<groupId>cn.iocoder.boot</groupId> <!-- 組織ID -->
<artifactId>yjp-dependencies</artifactId> <!-- 項(xiàng)目名稱 -->
<version>${revision}</version> <!-- 版本號(hào) -->
<type>pom</type> <!-- 導(dǎo)入類型:pom 表示該依賴是一個(gè)POM類型,而不是一個(gè)標(biāo)準(zhǔn)的Java庫(kù)(如JAR)。POM類型通常用于依賴管理或繼承。 -->
<scope>import</scope> <!-- 導(dǎo)入范圍:import 表示該依賴將導(dǎo)入另一個(gè)POM文件,而不是直接作為一個(gè)庫(kù)。 -->
<optional>false</optional> <!-- 可選依賴:optional 表示該依賴是可選的,即在使用該依賴時(shí),可以選擇性地導(dǎo)入。 -->
</dependency>
</dependencies>
</dependencyManagement>3. <scope> 標(biāo)簽
描述: <scope>屬性用于指定依賴的作用域,決定了該依賴在構(gòu)建生命周期的哪些階段可用,以及它是否會(huì)被傳遞給依賴它的項(xiàng)目。Maven支持的主要作用域包括以下幾種:
(1) compile (默認(rèn)作用域)
- 說(shuō)明: 這是默認(rèn)的作用域,如果沒(méi)有顯式指定
<scope>,Maven會(huì)將其視為compile。 - 適用范圍: 編譯、測(cè)試和運(yùn)行時(shí)都可用。
- 傳遞性: 會(huì)傳遞給依賴此項(xiàng)目的所有項(xiàng)目。
<dependency>
<groupId>org.example</groupId>
<artifactId>example-lib</artifactId>
<version>1.0.0</version>
<!-- compile是默認(rèn)的,不需要顯式指定 -->
</dependency>(2) provided
- 說(shuō)明: 依賴在編譯和測(cè)試階段可用,但運(yùn)行時(shí)不包含該依賴。通常用于由運(yùn)行環(huán)境(如Servlet容器、應(yīng)用服務(wù)器)提供的依賴。
- 適用范圍: 編譯和測(cè)試時(shí)可用,但運(yùn)行時(shí)不包含。
- 傳遞性: 不會(huì)傳遞給依賴此項(xiàng)目的其他項(xiàng)目。
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>(3) runtime
- 說(shuō)明: 依賴在運(yùn)行時(shí)和測(cè)試階段可用,但在編譯時(shí)不可用。通常用于那些僅在運(yùn)行時(shí)需要的庫(kù)。
- 適用范圍: 測(cè)試和運(yùn)行時(shí)可用,編譯時(shí)不可用。
- 傳遞性: 會(huì)傳遞給依賴此項(xiàng)目的其他項(xiàng)目。
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.30</version>
<scope>runtime</scope>
</dependency>(4) test
- 說(shuō)明: 依賴僅在測(cè)試編譯和測(cè)試運(yùn)行時(shí)可用,不會(huì)包含在最終的構(gòu)建成果中。
- 適用范圍: 僅測(cè)試時(shí)可用,編譯和運(yùn)行時(shí)不可用
- 傳遞性: 不會(huì)傳遞給依賴此項(xiàng)目的其他項(xiàng)目。
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>(5) system
- 說(shuō)明: 依賴類似于provided作用域,但必須顯式提供依賴的路徑(通過(guò)
systemPath元素),不會(huì)從Maven倉(cāng)庫(kù)中下載該依賴。通常不推薦使用。 - 適用范圍: 編譯和測(cè)試時(shí)可用,運(yùn)行時(shí)不包含。
- 傳遞性: 不會(huì)傳遞給依賴此項(xiàng)目的其他項(xiàng)目。
<dependency>
<groupId>com.example</groupId>
<artifactId>example-lib</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>${basedir}/libs/example-lib.jar</systemPath>
</dependency>(6) import
- 說(shuō)明: 這個(gè)作用域僅用于依賴管理(通常是BOM文件- Bill of Materials),可以將指定POM文件中的依賴版本管理導(dǎo)入到當(dāng)前項(xiàng)目中。
- 適用范圍: 僅用于
<dependencyManagement>內(nèi)的依賴聲明,不能用于常規(guī)依賴。 - 傳遞性: 導(dǎo)入的版本管理會(huì)影響當(dāng)前項(xiàng)目及其子模塊。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.5.4</version>
<type>pom</type>
<scope>import</scope>
</dependency>這些作用域幫助開(kāi)發(fā)者在構(gòu)建過(guò)程中有效管理依賴的使用范圍和傳遞性,根據(jù)具體場(chǎng)景選擇合適的作用域可以避免不必要的依賴引入,提高項(xiàng)目的可維護(hù)性和構(gòu)建效率。
4. <exclusions> 標(biāo)簽
描述: 當(dāng)一個(gè)依賴引入了不需要的傳遞依賴時(shí),我們可以使用 <exclusions> 標(biāo)簽將其排除。每個(gè) <exclusion> 元素定義一個(gè)要排除的依賴,通常包含<groupId>和 <artifactId> 子標(biāo)簽。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.5.4</version>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>5. <optional> 標(biāo)簽
描述: <optional> 標(biāo)簽用于標(biāo)記一個(gè)依賴是否為可選??蛇x依賴不會(huì)自動(dòng)傳遞給依賴此項(xiàng)目的其他項(xiàng)目。
<dependency>
<groupId>com.example</groupId>
<artifactId>example-lib</artifactId>
<version>1.0.0</version>
<optional>true</optional>
</dependency>項(xiàng)目構(gòu)建類標(biāo)簽
1. <build>標(biāo)簽
**描述:**定義項(xiàng)目的構(gòu)建配置,如構(gòu)建目錄、插件、資源、配置文件等。
<build>
<!-- 設(shè)置構(gòu)建的 jar 包名 -->
<finalName>${project.artifactId}</finalName>
<plugins>
<!-- 打包 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring.boot.version}</version>
<executions>
<execution>
<goals>
<goal>repackage</goal> <!-- 將引入的 jar 打入其中 -->
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>2. <sourceDirectory>標(biāo)簽
描述: 定義項(xiàng)目的主源代碼目錄。默認(rèn)情況下,該目錄為 src/main/java。如果你的源代碼存放在其他目錄中,可以通過(guò)該標(biāo)簽進(jìn)行修改。
<sourceDirectory>src/main/java</sourceDirectory>
3. <testSourceDirectory>標(biāo)簽
描述: 定義項(xiàng)目的測(cè)試源代碼目錄。默認(rèn)情況下,該目錄為 src/test/java。如果你的測(cè)試代碼存放在其他目錄中,可以通過(guò)該標(biāo)簽進(jìn)行修改。
<testSourceDirectory>src/test/java</testSourceDirectory>
4. <outputDirectory>標(biāo)簽
描述: 指定編譯后的主代碼輸出目錄。默認(rèn)值為 target/classes。
<outputDirectory>target/classes</outputDirectory>
5. <finalName>標(biāo)簽
描述: 定義構(gòu)建輸出的最終名稱,不包括文件擴(kuò)展名。默認(rèn)情況下,Maven 會(huì)將輸出文件命名為 ${artifactId}-${version}。你可以通過(guò)此標(biāo)簽自定義輸出文件的名稱。
<finalName>my-custom-name</finalName>
6. <resources>標(biāo)簽
描述: 定義項(xiàng)目的資源目錄及資源文件。資源文件會(huì)被打包到最終的構(gòu)建產(chǎn)物中(如 JAR 包)。通常資源目錄為 src/main/resources,該標(biāo)簽允許你自定義資源的路徑和處理方
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
</includes>
</resource>
</resources>7. <plugins>標(biāo)簽
描述: 定義 Maven 構(gòu)建生命周期中的插件。插件是 Maven 的核心組件,用于執(zhí)行各種任務(wù)(如編譯、打包、測(cè)試、部署等)。你可以在此標(biāo)簽中配置和使用不同的插件。
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>8. <executions>標(biāo)簽
描述: 用于配置特定插件在構(gòu)建生命周期中的不同階段執(zhí)行的行為。每個(gè) <executions> 元素可以包含多個(gè) <execution> 子元素,這些子元素定義了插件的一個(gè)執(zhí)行任務(wù),包括其執(zhí)行的階段、目標(biāo)和其他配置。
<build>
<plugins>
<plugin>
<!-- 插件的基本信息 -->
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>...</version>
<!-- 執(zhí)行配置 -->
<executions>
<execution>
<id>execution-id</id> <!-- 可選:執(zhí)行的標(biāo)識(shí)符,用于區(qū)分多個(gè)執(zhí)行 -->
<phase>phase-name</phase> <!-- 可選:指定該執(zhí)行應(yīng)綁定的構(gòu)建生命周期階段 -->
<goals>
<goal>goal-name</goal> <!-- 必須:定義要執(zhí)行的目標(biāo)(可以有多個(gè)) -->
</goals>
<configuration>
<!-- 可選:插件特定的配置項(xiàng) -->
</configuration>
</execution>
<!-- 可以有多個(gè) <execution> 元素 -->
</executions>
</plugin>
</plugins>
</build>9. <execution>子標(biāo)簽解釋
<id>: 可選的執(zhí)行標(biāo)識(shí)符,用于唯一標(biāo)識(shí)每個(gè)執(zhí)行。這在多個(gè) 元素存在時(shí)特別有用。<phase>: 指定執(zhí)行綁定到 Maven 構(gòu)建生命周期中的特定階段。比如,compile、test、package、install、deploy 等。如果沒(méi)有指定 <phase>,插件的執(zhí)行目標(biāo)(goal)不會(huì)自動(dòng)綁定到任何生命周期階段,必須手動(dòng)調(diào)用。<goals>: 一個(gè)或多個(gè) <goal> 標(biāo)簽,指定插件的具體目標(biāo)(或任務(wù)),如 compile、test、package 等。<configuration>: 為該執(zhí)行配置插件的特定參數(shù)。配置項(xiàng)會(huì)覆蓋 <plugin> 元素中的<configuration>部分。
10.項(xiàng)目構(gòu)建總結(jié) (1)<repackage> 目標(biāo)的作用
(1)重新打包現(xiàn)有的 JAR 或 WAR:它將現(xiàn)有的 JAR 或 WAR 文件重新打包成一個(gè)可執(zhí)行的 JAR 或 WAR。這意味著這個(gè) JAR 或 WAR 包包含了所有的應(yīng)用程序代碼和依賴,并且可以通過(guò) java -jar 命令直接運(yùn)行。
(2)添加 Spring Boot 啟動(dòng)器:repackage 目標(biāo)會(huì)在生成的 JAR 中添加一個(gè) Spring-Boot-Loader 作為啟動(dòng)器,這個(gè)啟動(dòng)器負(fù)責(zé)處理應(yīng)用程序的啟動(dòng)和依賴加載。
(3)簡(jiǎn)化部署:通過(guò)創(chuàng)建一個(gè)可執(zhí)行的 JAR 文件,可以大大簡(jiǎn)化 Spring Boot 應(yīng)用程序的部署過(guò)程,因?yàn)椴恍枰獙?yīng)用程序部署到外部的應(yīng)用服務(wù)器中。
(2)repackage目標(biāo)的常用配置參數(shù)
在使用 <goal>repackage</goal> 時(shí),可以通過(guò)<configuration>元素進(jìn)行多種配置。以下是一些常用的配置參數(shù):
<classifier>: 生成可執(zhí)行 JAR 的分類器(例如:exec)。這會(huì)影響最終 JAR 文件的名稱。<mainClass>: 指定主類(即 public static void main(String[] args) 所在的類)。如果沒(méi)有指定,插件會(huì)嘗試自動(dòng)檢測(cè)。<layout>: 指定重新打包 JAR 的布局(例如:JAR、WAR、ZIP、DIR 等)。默認(rèn)為 JAR。<outputDirectory>: 指定重新打包的 JAR 文件的輸出目錄。默認(rèn)為項(xiàng)目的構(gòu)建目錄。<skip>: 如果設(shè)置為 true,則跳過(guò)重新打包階段。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>3.1.2</version>
<executions>
<execution>
<goals>
<goal>repackage</goal> <!-- 這是 repackage 目標(biāo) -->
</goals>
<configuration>
<mainClass>com.example.MyApplication</mainClass> <!-- 指定主類 -->
<classifier>exec</classifier> <!-- 設(shè)置生成的可執(zhí)行 JAR 文件的分類器 -->
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>11.基礎(chǔ)打包構(gòu)建示例
<build>
<!-- 設(shè)置構(gòu)建的 jar 包名 -->
<finalName>${project.artifactId}</finalName>
<plugins>
<!-- 打包 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring.boot.version}</version>
<executions>
<execution>
<goals>
<goal>repackage</goal> <!-- 將引入的 jar 打入其中 -->
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>到此這篇關(guān)于SpringBoot項(xiàng)目構(gòu)建Maven標(biāo)簽及屬性用法詳解的文章就介紹到這了,更多相關(guān)SpringBoot Maven標(biāo)簽內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringMVC學(xué)習(xí)之JSON和全局異常處理詳解
在項(xiàng)目上線之后,往往會(huì)出現(xiàn)一些不可預(yù)料的異常信息,對(duì)于邏輯性或設(shè)計(jì)性問(wèn)題,開(kāi)發(fā)人員或者維護(hù)人員需要通過(guò)日志,查看異常信息并排除異常,這篇文章主要給大家介紹了關(guān)于SpringMVC學(xué)習(xí)之JSON和全局異常處理的相關(guān)資料,需要的朋友可以參考下2022-10-10
Java數(shù)據(jù)庫(kù)連接池之DBCP淺析_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了Java數(shù)據(jù)庫(kù)連接池之DBCP的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
Java如何實(shí)現(xiàn)讀取txt文件內(nèi)容并生成Word文檔
本文主要介紹了通過(guò)Java實(shí)現(xiàn)讀取txt文件中的內(nèi)容,并將內(nèi)容生成Word文檔。文章的代碼非常詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下2021-12-12
淺談java中math類中三種取整函數(shù)的區(qū)別
下面小編就為大家?guī)?lái)一篇淺談java中math類中三種取整函數(shù)的區(qū)別。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11
Java統(tǒng)計(jì)50個(gè)10到50之間整數(shù)的隨機(jī)出現(xiàn)次數(shù)
這篇文章主要為大家詳細(xì)介紹了Java統(tǒng)計(jì)50個(gè)10到50之間整數(shù)的隨機(jī)出現(xiàn)次數(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
spring中jdbcTemplate.batchUpdate的幾種使用情況
本文主要介紹了spring中jdbcTemplate.batchUpdate的幾種使用情況,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04
詳解SpringBoot中自定義starter的開(kāi)發(fā)與使用
starter是SpringBoot中非常重要的一個(gè)機(jī)制,他是基于約定優(yōu)于配置的思想所衍生出來(lái)的,本文主要介紹了SpringBoot中自定義starter的開(kāi)發(fā)與使用,感興趣的可以了解下2023-09-09
springboot+mybatis-plus+oracle實(shí)現(xiàn)邏輯刪除
最近在做一個(gè)前后端分離的小項(xiàng)目,需要?jiǎng)h除用戶表的用戶,本文主要實(shí)現(xiàn)了springboot+mybatis-plus+oracle邏輯刪除,具有一定的參考價(jià)值,感興趣的可以了解一下2021-08-08

