欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Maven高級的聚合和繼承的實(shí)現(xiàn)

 更新時間:2024年10月10日 08:48:39   作者:Oh...Yeah!!!  
在軟件開發(fā)中,隨著項(xiàng)目規(guī)模的擴(kuò)大,單個模塊的開發(fā)方式逐漸轉(zhuǎn)變?yōu)槎嗄K開發(fā),這種方式帶來了項(xiàng)目管理上的挑戰(zhàn),其中最常見的問題是模塊間的依賴管理和版本控制問題,本文就來介紹一下

聚合和繼承

我們的項(xiàng)目已經(jīng)從以前的單模塊,變成了現(xiàn)在的多模塊開發(fā)。項(xiàng)目一旦變成了多模塊開發(fā)以后,就會引發(fā)一些問題,在這一節(jié)中我們主要會學(xué)習(xí)兩個內(nèi)容聚合繼承,用這兩個知識來解決下分模塊后的一些問題。

1 聚合

在這里插入圖片描述

  • 分模塊開發(fā)后,需要將這四個項(xiàng)目都安裝到本地倉庫,目前我們只能通過項(xiàng)目Maven面板的install來安裝,并且需要安裝四個,如果我們的項(xiàng)目足夠多,那么一個個安裝起來還是比較麻煩的
  • 如果四個項(xiàng)目都已經(jīng)安裝成功,當(dāng)ssm_pojo發(fā)生變化后,我們就得將ssm_pojo重新安裝到maven倉庫,但是為了確保我們對ssm_pojo的修改不會影響到其他項(xiàng)目模塊,我們需要對所有的模塊進(jìn)行重新編譯,那又需要將所有的模塊再來一遍

項(xiàng)目少的話還好,但是如果項(xiàng)目多的話,一個個操作項(xiàng)目就容易出現(xiàn)漏掉或重復(fù)操作的問題,所以我們就想能不能抽取一個項(xiàng)目,把所有的項(xiàng)目管理起來,以后我們要想操作這些項(xiàng)目,只需要操作這一個項(xiàng)目,其他所有的項(xiàng)目都走一樣的流程,這個不就很省事省力。

這就用到了我們接下來要講解的聚合,

  • 所謂聚合:將多個模塊組織成一個整體,同時進(jìn)行項(xiàng)目構(gòu)建的過程稱為聚合
  • 聚合工程:通常是一個不具有業(yè)務(wù)功能的"空"工程(有且僅有一個pom文件)
  • 作用:使用聚合工程可以將多個工程編組,通過對聚合工程進(jìn)行構(gòu)建,實(shí)現(xiàn)對所包含的模塊進(jìn)行同步構(gòu)建
    • 當(dāng)工程中某個模塊發(fā)生更新(變更)時,必須保障工程中與已更新模塊關(guān)聯(lián)的模塊同步更新,此時可以使用聚合工程來解決批量模塊同步構(gòu)建的問題。

關(guān)于聚合具體的實(shí)現(xiàn)步驟為:

步驟1:創(chuàng)建一個空的maven項(xiàng)目

在這里插入圖片描述

步驟2:將項(xiàng)目的打包方式改為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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.itheima</groupId>
    <artifactId>maven_01_parent</artifactId>
    <version>1.0-RELEASE</version>
    <packaging>pom</packaging>
    
</project>

**說明:**項(xiàng)目的打包方式,我們接觸到的有三種,分別是

  • jar:默認(rèn)情況,說明該項(xiàng)目為java項(xiàng)目
  • war:說明該項(xiàng)目為web項(xiàng)目
  • pom:說明該項(xiàng)目為聚合或繼承(后面會講)項(xiàng)目

步驟3:pom.xml添加所要管理的項(xiàng)目

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.itheima</groupId>
    <artifactId>maven_01_parent</artifactId>
    <version>1.0-RELEASE</version>
    <packaging>pom</packaging>
    
    <!--設(shè)置管理的模塊名稱-->
    <modules>
        <module>../maven_02_ssm</module>
        <module>../maven_03_pojo</module>
        <module>../maven_04_dao</module>
    </modules>
</project>

步驟4:使用聚合統(tǒng)一管理項(xiàng)目

在這里插入圖片描述

測試發(fā)現(xiàn),當(dāng)maven_01_parentcompile被點(diǎn)擊后,所有被其管理的項(xiàng)目都會被執(zhí)行編譯操作。這就是聚合工程的作用。

**說明:**聚合工程管理的項(xiàng)目在進(jìn)行運(yùn)行的時候,會按照項(xiàng)目與項(xiàng)目之間的依賴關(guān)系來自動決定執(zhí)行的順序和配置的順序無關(guān)。

聚合的知識我們就講解完了,最后總結(jié)一句話就是,聚合工程主要是用來管理項(xiàng)目

2 繼承

我們已經(jīng)完成了使用聚合工程去管理項(xiàng)目,聚合工程進(jìn)行某一個構(gòu)建操作,其他被其管理的項(xiàng)目也會執(zhí)行相同的構(gòu)建操作。那么接下來,我們再來分析下,多模塊開發(fā)存在的另外一個問題,重復(fù)配置的問題,我們先來看張圖:

在這里插入圖片描述

  • spring-webmvc、spring-jdbc在三個項(xiàng)目模塊中都有出現(xiàn),這樣就出現(xiàn)了重復(fù)的內(nèi)容
  • spring-test只在ssm_crm和ssm_goods中出現(xiàn),而在ssm_order中沒有,這里是部分重復(fù)的內(nèi)容
  • 我們使用的spring版本目前是5.2.10.RELEASE,假如后期要想升級spring版本,所有跟Spring相關(guān)jar包都得被修改,涉及到的項(xiàng)目越多,維護(hù)成本越高

面對上面的這些問題,我們就得用到接下來要學(xué)習(xí)的繼承

所謂繼承:描述的是兩個工程間的關(guān)系,與java中的繼承相似,子工程可以繼承父工程中的配置信息,常見于依賴關(guān)系的繼承。

作用:

  • 簡化配置
  • 減少版本沖突

接下來,我們到程序中去看看繼承該如何實(shí)現(xiàn)?

步驟1:創(chuàng)建一個空的Maven項(xiàng)目并將其打包方式設(shè)置為pom

因?yàn)檫@一步和前面maven創(chuàng)建聚合工程的方式是一摸一樣,所以我們可以單獨(dú)創(chuàng)建一個新的工程,也可以直接和聚合公用一個工程。實(shí)際開發(fā)中,聚合和繼承一般也都放在同一個項(xiàng)目中,但是這兩個的功能是不一樣的。

步驟2:在子項(xiàng)目中設(shè)置其父工程

分別在maven_02_ssm,maven_03_pojo,maven_04_dao的pom.xml中添加其父項(xiàng)目為maven_01_parent

<!--配置當(dāng)前工程繼承自parent工程-->
<parent>
    <groupId>com.itheima</groupId>
    <artifactId>maven_01_parent</artifactId>
    <version>1.0-RELEASE</version>
    <!--設(shè)置父項(xiàng)目pom.xml位置路徑-->
    <relativePath>../maven_01_parent/pom.xml</relativePath>
</parent>

步驟3:優(yōu)化子項(xiàng)目共有依賴導(dǎo)入問題

將子項(xiàng)目共同使用的jar包都抽取出來,維護(hù)在父項(xiàng)目的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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.itheima</groupId>
    <artifactId>maven_01_parent</artifactId>
    <version>1.0-RELEASE</version>
    <packaging>pom</packaging>
    
    <!--設(shè)置管理的模塊名稱-->
    <modules>
        <module>../maven_02_ssm</module>
        <module>../maven_03_pojo</module>
        <module>../maven_04_dao</module>
    </modules>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>5.2.10.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.2.10.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>5.2.10.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>5.2.10.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.6</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.3.0</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.16</version>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.0</version>
        </dependency>
    </dependencies>
</project>

刪除子項(xiàng)目中已經(jīng)被抽取到父項(xiàng)目的pom.xml中的jar包,如在maven_02_ssm的pom.xml中將已經(jīng)出現(xiàn)在父項(xiàng)目的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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.itheima</groupId>
  <artifactId>maven_02_ssm</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <!--配置當(dāng)前工程繼承自parent工程-->
  <parent>
    <groupId>com.itheima</groupId>
    <artifactId>maven_01_parent</artifactId>
    <version>1.0-RELEASE</version>
    <relativePath>../maven_01_parent/pom.xml</relativePath>
  </parent>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>com.itheima</groupId>
      <artifactId>maven_04_dao</artifactId>
      <version>1.0-SNAPSHOT</version>
      <!--排除依賴是隱藏當(dāng)前資源對應(yīng)的依賴關(guān)系-->
      <exclusions>
        <exclusion>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.mybatis</groupId>
          <artifactId>mybatis</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.1</version>
        <configuration>
          <port>80</port>
          <path>/</path>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

刪除完后,你會發(fā)現(xiàn)父項(xiàng)目中有依賴對應(yīng)的jar包,子項(xiàng)目雖然已經(jīng)將重復(fù)的依賴刪除掉了,但是刷新的時候,子項(xiàng)目中所需要的jar包依然存在。

當(dāng)項(xiàng)目的<parent>標(biāo)簽被移除掉,會發(fā)現(xiàn)多出來的jar包依賴也會隨之消失。

  • maven_04_dao項(xiàng)目的pom.xml中的所有依賴刪除,然后添加上maven_01_parent的父項(xiàng)目坐標(biāo)
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.itheima</groupId>
    <artifactId>maven_04_dao</artifactId>
    <version>1.0-SNAPSHOT</version>

    <!--配置當(dāng)前工程繼承自parent工程-->
    <parent>
        <groupId>com.itheima</groupId>
        <artifactId>maven_01_parent</artifactId>
        <version>1.0-RELEASE</version>
        <relativePath>../maven_01_parent/pom.xml</relativePath>
    </parent>
</project>

刷新并查看Maven的面板,會發(fā)現(xiàn)maven_04_dao同樣引入了父項(xiàng)目中的所有依賴。

在這里插入圖片描述

這樣我們就可以解決剛才提到的第一個問題,將子項(xiàng)目中的公共jar包抽取到父工程中進(jìn)行統(tǒng)一添加依賴,這樣做的可以簡化配置,并且當(dāng)父工程中所依賴的jar包版本發(fā)生變化,所有子項(xiàng)目中對應(yīng)的jar包版本也會跟著更新。

在這里插入圖片描述

步驟4:優(yōu)化子項(xiàng)目依賴版本問題

如果把所有用到的jar包都管理在父項(xiàng)目的pom.xml,看上去更簡單些,但是這樣就會導(dǎo)致有很多項(xiàng)目引入了過多自己不需要的jar包。如上面看到的這張圖:

在這里插入圖片描述

如果把所有的依賴都放在了父工程中進(jìn)行統(tǒng)一維護(hù),就會導(dǎo)致ssm_order項(xiàng)目中多引入了spring-test的jar包,如果這樣的jar包過多的話,對于ssm_order來說也是一種"負(fù)擔(dān)"。

那針對于這種部分項(xiàng)目有的jar包,我們該如何管理優(yōu)化呢?

  • 在父工程mavne_01_parent的pom.xml來定義依賴管理
<!--定義依賴管理-->
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
  • 將maven_02_ssm的pom.xml中的junit依賴刪除掉,刷新Maven

在這里插入圖片描述

刷新完會發(fā)現(xiàn),在maven_02_ssm項(xiàng)目中的junit依賴并沒有出現(xiàn),所以我們得到一個結(jié)論:

<dependencyManagement>標(biāo)簽不真正引入jar包,而是配置可供子項(xiàng)目選擇的jar包依賴

子項(xiàng)目要想使用它所提供的這些jar包,需要自己添加依賴,并且不需要指定<version>

  • 在maven_02_ssm的pom.xml添加junit的依賴
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <scope>test</scope>
</dependency>

注意:這里就不需要添加版本了,這樣做的好處就是當(dāng)父工程dependencyManagement標(biāo)簽中的版本發(fā)生變化后,子項(xiàng)目中的依賴版本也會跟著發(fā)生變化

  • 在maven_04_dao的pom.xml添加junit的依賴
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <scope>test</scope>
</dependency>

這個時候,maven_02_ssm和maven_04_dao這兩個項(xiàng)目中的junit版本就會跟隨著父項(xiàng)目中的標(biāo)簽dependencyManagement中junit的版本發(fā)生變化而變化。不需要junit的項(xiàng)目就不需要添加對應(yīng)的依賴即可。

至此繼承就已經(jīng)學(xué)習(xí)完了,總結(jié)來說,繼承可以幫助做兩件事

  • 將所有項(xiàng)目公共的jar包依賴提取到父工程的pom.xml中,子項(xiàng)目就可以不用重復(fù)編寫,簡化開發(fā)
  • 將所有項(xiàng)目的jar包配置到父工程的dependencyManagement標(biāo)簽下,實(shí)現(xiàn)版本管理,方便維護(hù)
    • dependencyManagement標(biāo)簽不真正引入jar包,只是管理jar包的版本
    • 子項(xiàng)目在引入的時候,只需要指定groupId和artifactId,不需要加version
    • 當(dāng)dependencyManagement標(biāo)簽中jar包版本發(fā)生變化,所有子項(xiàng)目中有用到該jar包的地方對應(yīng)的版本會自動隨之更新

最后總結(jié)一句話就是,父工程主要是用來快速配置依賴jar包和管理項(xiàng)目中所使用的資源

小結(jié)

繼承的實(shí)現(xiàn)步驟:

創(chuàng)建Maven模塊,設(shè)置打包類型為pom

<packaging>pom</packaging>

在父工程的pom文件中配置依賴關(guān)系(子工程將沿用父工程中的依賴關(guān)系),一般只抽取子項(xiàng)目中公有的jar包

<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>5.2.10.RELEASE</version>
    </dependency>
    ...
</dependencies>

在父工程中配置子工程中可選的依賴關(guān)系

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.16</version>
        </dependency>
    </dependencies>
    ...
</dependencyManagement>

在子工程中配置當(dāng)前工程所繼承的父工程

<!--定義該工程的父工程-->
<parent>
    <groupId>com.itheima</groupId>
    <artifactId>maven_01_parent</artifactId>
    <version>1.0-RELEASE</version>
    <!--填寫父工程的pom文件,可以不寫-->
    <relativePath>../maven_01_parent/pom.xml</relativePath>
</parent>

在子工程中配置使用父工程中可選依賴的坐標(biāo)

<dependencies>
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
    </dependency>
</dependencies>

注意事項(xiàng):

1.子工程中使用父工程中的可選依賴時,僅需要提供群組id和項(xiàng)目id,無需提供版本,版本由父工程統(tǒng)一提供,避免版本沖突

2.子工程中還可以定義父工程中沒有定義的依賴關(guān)系,只不過不能被父工程進(jìn)行版本統(tǒng)一管理。

3 聚合與繼承的區(qū)別

3.1 聚合與繼承的區(qū)別

兩種之間的作用:

  • 聚合用于快速構(gòu)建項(xiàng)目,對項(xiàng)目進(jìn)行管理
  • 繼承用于快速配置和管理子項(xiàng)目中所使用jar包的版本

聚合和繼承的相同點(diǎn):

  • 聚合與繼承的pom.xml文件打包方式均為pom,可以將兩種關(guān)系制作到同一個pom文件中
  • 聚合與繼承均屬于設(shè)計型模塊,并無實(shí)際的模塊內(nèi)容

聚合和繼承的不同點(diǎn):

  • 聚合是在當(dāng)前模塊中配置關(guān)系,聚合可以感知到參與聚合的模塊有哪些
  • 繼承是在子模塊中配置關(guān)系,父模塊無法感知哪些子模塊繼承了自己

相信到這里,大家已經(jīng)能區(qū)分開什么是聚合和繼承,但是有一個稍微麻煩的地方就是聚合和繼承的工程構(gòu)建,需要在聚合項(xiàng)目中手動添加modules標(biāo)簽,需要在所有的子項(xiàng)目中添加parent標(biāo)簽,萬一寫錯了咋辦?

3.2 IDEA構(gòu)建聚合與繼承工程

其實(shí)對于聚合和繼承工程的創(chuàng)建,IDEA已經(jīng)能幫助我們快速構(gòu)建,具體的實(shí)現(xiàn)步驟為:

步驟1:創(chuàng)建一個Maven項(xiàng)目

創(chuàng)建一個空的Maven項(xiàng)目,可以將項(xiàng)目中的src目錄刪除掉,這個項(xiàng)目作為聚合工程和父工程。

在這里插入圖片描述

步驟2:創(chuàng)建子項(xiàng)目

該項(xiàng)目可以被聚合工程管理,同時會繼承父工程。

在這里插入圖片描述

創(chuàng)建成功后,maven_parent即是聚合工程又是父工程,maven_web中也有parent標(biāo)簽,繼承的就是maven_parent,對于難以配置的內(nèi)容都自動生成。

按照上面這種方式,大家就可以根據(jù)自己的需要來構(gòu)建分模塊項(xiàng)目。

到此這篇關(guān)于Maven高級的聚合和繼承的文章就介紹到這了,更多相關(guān)Maven高級的聚合和繼承內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java代理實(shí)現(xiàn)爬取代理IP的示例

    java代理實(shí)現(xiàn)爬取代理IP的示例

    今天小編就為大家分享一篇java代理實(shí)現(xiàn)爬取代理IP的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 使用FileReader采用的默認(rèn)編碼

    使用FileReader采用的默認(rèn)編碼

    這篇文章主要介紹了使用FileReader采用的默認(rèn)編碼,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java跨平臺原理與虛擬機(jī)相關(guān)簡介

    Java跨平臺原理與虛擬機(jī)相關(guān)簡介

    這篇文章主要介紹了Java跨平臺原理與虛擬機(jī)的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下
    2021-03-03
  • java基于quasar實(shí)現(xiàn)協(xié)程池的方法示例

    java基于quasar實(shí)現(xiàn)協(xié)程池的方法示例

    本文主要介紹了java基于quasar實(shí)現(xiàn)協(xié)程池的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧<BR>
    2022-06-06
  • SpringMVC的處理器適配器-HandlerAdapter的用法及說明

    SpringMVC的處理器適配器-HandlerAdapter的用法及說明

    這篇文章主要介紹了SpringMVC的處理器適配器-HandlerAdapter的用法及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • idea代碼模板設(shè)置方式

    idea代碼模板設(shè)置方式

    這篇文章主要介紹了idea代碼模板設(shè)置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Java使用遞歸復(fù)制文件夾及文件夾

    Java使用遞歸復(fù)制文件夾及文件夾

    這篇文章主要介紹了Java使用遞歸復(fù)制文件夾及文件夾,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • Springboot使用filter對response內(nèi)容進(jìn)行加密方式

    Springboot使用filter對response內(nèi)容進(jìn)行加密方式

    這篇文章主要介紹了Springboot使用filter對response內(nèi)容進(jìn)行加密方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 一篇文章詳解JAVA中的@Schema注解

    一篇文章詳解JAVA中的@Schema注解

    @Schema注解用于描述數(shù)據(jù)模型,包括類和屬性,使得描述更加的詳細(xì)和清楚,通常和swagger3一起使用,這篇文章主要介紹了JAVA中@Schema注解的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-04-04
  • Java JVM編譯策略案例詳解

    Java JVM編譯策略案例詳解

    這篇文章主要介紹了Java JVM編譯策略案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08

最新評論