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

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ā)布的版本來看,相對(duì)于 Spring Framework 4.x 而言,注解驅(qū)動(dòng)的性能提升不是那么明顯。

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

對(duì)于這個(gè)問題,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中Calendar.add()方法的使用

    java中Calendar.add()方法的使用

    本文主要介紹了java中Calendar.add()方法的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • SpringMVC 域?qū)ο蠊蚕頂?shù)據(jù)的實(shí)現(xiàn)示例

    SpringMVC 域?qū)ο蠊蚕頂?shù)據(jù)的實(shí)現(xiàn)示例

    本文主要介紹了SpringMVC 域?qū)ο蠊蚕頂?shù)據(jù)的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • java servlet結(jié)合Oracle搭建java的web開發(fā)環(huán)境

    java servlet結(jié)合Oracle搭建java的web開發(fā)環(huán)境

    今天我將與大家分享一下我學(xué)JAVA WEB寫的一些小實(shí)例 ,我個(gè)人是不太喜歡書本上的晦澀的概念的,所以我花了更多的時(shí)間在一些應(yīng)用實(shí)例上,我覺得這樣的學(xué)習(xí)方式很適合我,由簡到繁,由淺入深
    2015-12-12
  • MyBatis SELECT基本查詢實(shí)現(xiàn)方法詳解

    MyBatis SELECT基本查詢實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了MyBatis SELECT基本查詢實(shí)現(xiàn)方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 詳解Java深拷貝,淺拷貝和Cloneable接口

    詳解Java深拷貝,淺拷貝和Cloneable接口

    這篇文章主要為大家詳細(xì)介紹了Java中Cloneable接口以及深拷貝與淺拷貝的相關(guān)知識(shí),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-08-08
  • 解決java.lang.NoClassDefFoundError錯(cuò)誤的問題

    解決java.lang.NoClassDefFoundError錯(cuò)誤的問題

    在Java開發(fā)過程中,NoClassDefFoundError是一個(gè)常見的運(yùn)行時(shí)錯(cuò)誤,是由于JVM在運(yùn)行時(shí)找不到已編譯的類文件導(dǎo)致的,本文就來介紹一下如何解決,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-09-09
  • IDEA中的yml文件與properties互相轉(zhuǎn)換

    IDEA中的yml文件與properties互相轉(zhuǎn)換

    這篇文章主要介紹了IDEA中的yml文件與properties互相轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • springboot+vue實(shí)現(xiàn)SSE服務(wù)器發(fā)送事件的示例

    springboot+vue實(shí)現(xiàn)SSE服務(wù)器發(fā)送事件的示例

    本文介紹了使用Spring Boot和Vue實(shí)現(xiàn)服務(wù)器發(fā)送事件,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • 實(shí)例分析Java中public static void main(String args[])是什么意思

    實(shí)例分析Java中public static void main(String args[])是什么意思

    這篇文章主要介紹了實(shí)例分析Java中public static void main(String args[])的意義,詳細(xì)分析了Java主函數(shù)main關(guān)鍵字聲明的具體含義和用法,需要的朋友可以參考下
    2015-12-12
  • mybatis中使用InsertProvider注解報(bào)錯(cuò)解決全過程

    mybatis中使用InsertProvider注解報(bào)錯(cuò)解決全過程

    這篇文章主要介紹了mybatis中使用InsertProvider注解報(bào)錯(cuò)解決全過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07

最新評(píng)論

巴塘县| 青阳县| 博湖县| 蓝田县| 临洮县| 扶风县| 兴义市| 巴东县| 商城县| 宾川县| 炎陵县| 诸暨市| 德化县| 张家口市| 邵东县| 沂源县| 咸宁市| 临沭县| 青浦区| 星座| 饶平县| 高淳县| 施秉县| 瑞安市| 庆城县| 乐安县| 万荣县| 望谟县| 和平区| 来凤县| 林芝县| 凤阳县| 开江县| 盘山县| 苍山县| 锦屏县| 疏勒县| 沛县| 西华县| 青川县| 洛浦县|