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

Spring之spring-context-indexer依賴(lài)詳解

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

Spring spring-context-indexer依賴(lài)

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

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

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

配置springboot啟動(dòng)時(shí)自動(dòng)打開(kāi)瀏覽器 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)都非常的慢, 所有有了以下的依賴(lài), 加速啟動(dòng):

spring-context-indexer

說(shuō)明

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

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

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

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

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

原理說(shuō)明:

先看官方的解釋?zhuān)?/p>

在項(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ì)象,這樣的話(huà)@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ù)必注意這樣的問(wèn)題。

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

相關(guān)文章

最新評(píng)論

德保县| 建平县| 淳安县| 柞水县| 锡林浩特市| 舞钢市| 苏尼特左旗| 溆浦县| 辽宁省| 阜平县| 炉霍县| SHOW| 剑阁县| 高淳县| 门头沟区| 彭州市| 江西省| 岳池县| 平原县| 上犹县| 高阳县| 盐城市| 长寿区| 江安县| 湘乡市| 尉氏县| 简阳市| 松溪县| 黄石市| 崇仁县| 肥东县| 霍山县| 汉沽区| 惠水县| 昆山市| 四平市| 彝良县| 雷州市| 大同市| 永善县| 葵青区|