亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Spring如何使用@Indexed加快啟動(dòng)速度

 更新時(shí)間:2021年11月09日 08:38:20   作者:Dongguabai  
這篇文章主要介紹了Spring如何使用@Indexed加快啟動(dòng)速度,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

使用@Indexed加快啟動(dòng)速度

Spring讀取@Component組件(派生性),有兩種實(shí)現(xiàn)方式,一種是反射,一種是ASM。反射性能低主要是要loadClass,畢竟Class,需要Load,比如掃描”com.dongguabai”需要把所有的類load,效率太慢。

ASM相當(dāng)于直接加載類的資源信息,ReadResource。

Spring5.0 后面又有了@Indexed,可以預(yù)編譯。

會(huì)生成spring.compoments文件:

跟lombok一樣在編譯期處理。

Spring5--@Indexed注解

Spring Framework 5.0作為 Spring Boot 2.0 的底層核心框架,就目前已經(jīng)發(fā)布的版本來(lái)看,相對(duì)于 Spring Framework 4.x 而言,注解驅(qū)動(dòng)的性能提升不是那么明顯。

然而隨著 Spring Framework 注解驅(qū)動(dòng)能能力逐漸受到開(kāi)發(fā)人員的關(guān)注,尤其在 Spring Boot 應(yīng)用場(chǎng)景中,大量使用注解 @CompoentScan 掃描指定的 package,當(dāng)掃描的 package 所包含的類越多時(shí),Spring 模式注解解析的耗時(shí)就越長(zhǎng)。

對(duì)于這個(gè)問(wèn)題,Spring Framework 5.0 版本引入的注解 @Indexed,為 Spring 模式注解添加索引,以提升應(yīng)用啟動(dòng)性能。

舉個(gè)栗子

@Indexed
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {}

但是,注解 @Indexed 不能孤立地存在,需要在工程 pom.xml 中增加 org.springframework:spring-context-indexer 依賴:

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

當(dāng)工程打包為 JAR 或在 IDE 工具中重新構(gòu)建后,METE-INF/spring.components 文件將自動(dòng)生成。

換言之,該文件在編譯時(shí)生成。當(dāng) Spring 應(yīng)用上下文執(zhí)行 @CompoentScan 掃描時(shí),METE-INF/spring.components 將被 CandidateComponentsIndexLoader 讀取并加載,轉(zhuǎn)化為 CandidateComponentsIndex 對(duì)象,進(jìn)而 @CompoentScan 不再掃描指定的 package,而是讀取 CandidateComponentsIndex 對(duì)象,從而達(dá)到提升性能的目的。

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

相關(guān)文章

  • Java使用正則表達(dá)式檢索、替換String中特定字符和正則表達(dá)式的一切

    Java使用正則表達(dá)式檢索、替換String中特定字符和正則表達(dá)式的一切

    這篇文章主要給大家介紹了關(guān)于Java使用正則表達(dá)式檢索、替換String中特定字符和正則表達(dá)式的一切,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 最新評(píng)論