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

Spring之spring-context-indexer依賴詳解

 更新時(shí)間:2021年11月09日 09:16:54   作者:王哲曉  
這篇文章主要介紹了Spring之spring-context-indexer依賴詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Spring spring-context-indexer依賴

<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-indexer</artifactId>
        <version>5.2.0.RELEASE</version>
        <optional>true</optional>
    </dependency>
</dependencies>

雖然類路徑掃描非???,但是Spring內(nèi)部存在大量的類,添加此依賴,可以通過在編譯時(shí)創(chuàng)建候選對(duì)象的靜態(tài)列表來提高大型應(yīng)用程序的啟動(dòng)性能。

在此模式下,作為組件掃描目標(biāo)的所有模塊都必須使用此機(jī)制。

配置springboot啟動(dòng)時(shí)自動(dòng)打開瀏覽器 spring-context-indexer原理

int port = 8080;
String portPrefix = "--server.port=";
for (String arg : args) {
    if (arg.startsWith(portPrefix)) {
        port = Integer.parseInt(arg.substring(portPrefix.length()));
    }
}
SpringApplication.run(AppRegisterApplication.class, args);
try {
    Runtime.getRuntime().exec("cmd /c start http://localhost:" + port);
} catch (IOException e) {
    e.printStackTrace();
}

現(xiàn)在使用的springboot 項(xiàng)目大了, 每次啟動(dòng)都非常的慢, 所有有了以下的依賴, 加速啟動(dòng):

spring-context-indexer

說明

1.雖然類路徑掃描非???,但是Spring內(nèi)部存在大量的類,添加此依賴,可以通過在編譯時(shí)創(chuàng)建候選對(duì)象的靜態(tài)列表來提高大型應(yīng)用程序的啟動(dòng)性能。

2.但是在此模式下,作為組件掃描目標(biāo)的所有模塊都必須使用此機(jī)制。才可以。

3.需要spring5以上才能使用,親測(cè)有效, 依賴如下:

<dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-indexer</artifactId>
        <version>5.2.0.RELEASE</version>
        <optional>true</optional>
</dependency>

然后再你的啟動(dòng)類上加上一個(gè)注解: @Indexed ,用來表示, 你開啟了索引, 會(huì)加速項(xiàng)目的啟動(dòng)速度.

原理說明:

先看官方的解釋:

在項(xiàng)目中使用了@Indexed之后,編譯打包的時(shí)候會(huì)在項(xiàng)目中自動(dòng)生成META-INT/spring.components文件。

當(dāng)Spring應(yīng)用上下文執(zhí)行ComponentScan掃描時(shí),META-INT/spring.components將會(huì)被CandidateComponentsIndexLoader 讀取并加載,轉(zhuǎn)換為CandidateComponentsIndex對(duì)象,這樣的話@ComponentScan不在掃描指定的package,而是讀取CandidateComponentsIndex對(duì)象,從而達(dá)到提升性能的目的.

使用需注意點(diǎn)

雖然這個(gè)@Indexed注解能提升性能,但是在使用的時(shí)候也需要注意一一下。

假設(shè)Spring應(yīng)用中存在一個(gè)包含META-INT/spring.components資源的a.jar,b.jar僅存在模式注解,那么使用@ComponentScan掃描這兩個(gè)JAR中的package時(shí),b.jar 中的模式注解不會(huì)被識(shí)別。

請(qǐng)務(wù)必注意這樣的問題。

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

相關(guān)文章

  • Java?ConcurrentHashMap的源碼分析詳解

    Java?ConcurrentHashMap的源碼分析詳解

    ConcurrentHashMap(CHM)是日常開發(fā)中使用頻率非常高的一種數(shù)據(jù)結(jié)構(gòu),想對(duì)于普通的HashMap,CHM提供了線程安全的讀寫,CHM里面使用了許多比較精妙的優(yōu)化&操作。本文主要對(duì)CHM的整體結(jié)構(gòu)、初始化,查找,插入等做分析
    2023-03-03
  • java 中InputStream,String,File之間的相互轉(zhuǎn)化對(duì)比

    java 中InputStream,String,File之間的相互轉(zhuǎn)化對(duì)比

    這篇文章主要介紹了java 中InputStream,String,File之間的相互轉(zhuǎn)化對(duì)比的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • Spring Cloud之配置中心的搭建

    Spring Cloud之配置中心的搭建

    這篇文章主要介紹了Spring Cloud之配置中心的搭建,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07
  • 使用IDEA搭建一個(gè)簡(jiǎn)單的SpringBoot項(xiàng)目超詳細(xì)過程

    使用IDEA搭建一個(gè)簡(jiǎn)單的SpringBoot項(xiàng)目超詳細(xì)過程

    這篇文章主要介紹了使用IDEA搭建一個(gè)簡(jiǎn)單的SpringBoot項(xiàng)目超詳細(xì)過程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • 關(guān)于JVM翻越內(nèi)存管理的墻

    關(guān)于JVM翻越內(nèi)存管理的墻

    這篇文章主要介紹了JVM翻越內(nèi)存管理的墻,由虛擬機(jī)管理內(nèi)存看起來一切都很美好,但也正是因?yàn)榘芽刂苾?nèi)存的權(quán)力交給了Java虛擬機(jī),一旦出現(xiàn)內(nèi)存泄漏和溢出方面的問題,就不得不從Java虛擬機(jī)角度上去排查問題,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • 程序員最喜歡的ThreadLocal使用姿勢(shì)

    程序員最喜歡的ThreadLocal使用姿勢(shì)

    ThreadLocal并不是一個(gè)Thread,而是Thread的局部變量,也許把它命名為ThreadLocalVariable更容易讓人理解一些,下面這篇文章主要給大家介紹了程序員最喜歡的ThreadLocal使用姿勢(shì),需要的朋友可以參考下
    2022-02-02
  • javascript與jsp發(fā)送請(qǐng)求到servlet的幾種方式實(shí)例

    javascript與jsp發(fā)送請(qǐng)求到servlet的幾種方式實(shí)例

    本文分別給出了javascript發(fā)送請(qǐng)求到servlet的5種方式實(shí)例與 jsp發(fā)送請(qǐng)求到servlet的6種方式實(shí)例
    2018-03-03
  • 詳解Java實(shí)現(xiàn)的k-means聚類算法

    詳解Java實(shí)現(xiàn)的k-means聚類算法

    這篇文章主要介紹了詳解Java實(shí)現(xiàn)的k-means聚類算法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-01-01
  • Java中類的加載順序剖析(常用于面試題)

    Java中類的加載順序剖析(常用于面試題)

    這篇文章主要介紹了Java中類的加載順序剖析(常用于面試題),本文直接給出代碼實(shí)例和運(yùn)行結(jié)果,給后給出了加載過程總結(jié),需要的朋友可以參考下
    2015-03-03
  • JUC系列學(xué)習(xí)工具類CountDownLatch詳解

    JUC系列學(xué)習(xí)工具類CountDownLatch詳解

    這篇文章主要介紹了JUC系列學(xué)習(xí)工具類CountDownLatch詳解,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可任意參考一下
    2022-08-08

最新評(píng)論