返回顶部
首页 > 资讯 > 后端开发 > Python >Spring如何使用@Indexed加快启动速度
  • 145
分享到

Spring如何使用@Indexed加快启动速度

2024-04-02 19:04:59 145人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录使用@Indexed加快启动速度spring5--@Indexed注解举个栗子使用@Indexed加快启动速度 Spring读取@Component组件(派生性),有两种实现方式

使用@Indexed加快启动速度

Spring读取@Component组件(派生性),有两种实现方式,一种是反射,一种是ASM。反射性能低主要是要loadClass,毕竟Class,需要Load,比如扫描”com.dongguabai”需要把所有的类load,效率太慢。

ASM相当于直接加载类的资源信息,ReadResource。

Spring5.0 后面又有了@Indexed,可以预编译。

会生成spring.compoments文件:

跟lombok一样在编译期处理。

Spring5--@Indexed注解

Spring Framework 5.0作为 Spring Boot 2.0 的底层核心框架,就目前已经发布的版本来看,相对于 Spring Framework 4.x 而言,注解驱动的性能提升不是那么明显。

然而随着 Spring Framework 注解驱动能能力逐渐受到开发人员的关注,尤其在 Spring Boot 应用场景中,大量使用注解 @CompoentScan 扫描指定的 package,当扫描的 package 所包含的类越多时,Spring 模式注解解析的耗时就越长。

对于这个问题,Spring Framework 5.0 版本引入的注解 @Indexed,为 Spring 模式注解添加索引,以提升应用启动性能。

举个栗子


@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>

当工程打包为 jar 或在 IDE 工具中重新构建后,METE-INF/spring.components 文件将自动生成。

换言之,该文件在编译时生成。当 Spring 应用上下文执行 @CompoentScan 扫描时,METE-INF/spring.components 将被 CandidateComponentsIndexLoader 读取并加载,转化为 CandidateComponentsIndex 对象,进而 @CompoentScan 不再扫描指定的 package,而是读取 CandidateComponentsIndex 对象,从而达到提升性能的目的。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: Spring如何使用@Indexed加快启动速度

本文链接: https://lsjlt.com/news/156769.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Spring如何使用@Indexed加快启动速度
    目录使用@Indexed加快启动速度Spring5--@Indexed注解举个栗子使用@Indexed加快启动速度 Spring读取@Component组件(派生性),有两种实现方式...
    99+
    2024-04-02
  • 加快Vista启动/关机速度
    长期以来,Windows 系统缓慢的关机速度一直为人诟病,用户往往需要等待很长时间才能把系统关闭,这一问题在Windows Vista中也没有得到很好的解决,——也许微软将Windows Vist...
    99+
    2023-05-23
    速度 关机 Vista
  • Win8系统怎么快速开机启动加快系统的启动速度
    也许有人会说,使用一些优化软件,或者禁用一些启动加载项,不是就可以加快系统的启动速度了吗!实际上这只是一部分,并不能从根本上改变系统文件的加载,完成一个启动过程可能还是会耗费很多时间。 这是因为此前的系统启动是建立在BI...
    99+
    2023-06-03
    win8 机启动 Win8 速度 系统 启动
  • Spring如何进行调试启动速度
    这篇文章给大家介绍Spring如何进行调试启动速度,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在调试spring应用时,动辄几十秒,甚至有的应用上分钟的启动速度,会让整个调试速度慢下来了。等待时间让人抓狂。环境配置:...
    99+
    2023-06-17
  • Win10加快桌面应用的启动速度取消启动延迟
      自从Windows Vista开始,微软就通过延迟应用加载的方式来加快开机速度,这个特性被称作“启动延迟”。而在Win10技术预览版中,当操作系统启动之后,它将会拖延“启动&rdq...
    99+
    2023-06-08
    Win10 桌面应用 启动速度 启动 延迟 速度 桌面
  • 加快Wind7系统的启动速度、运行速度的方法
    如何才能加快Windows7速度谁都希望自己的电脑速度变快,不论是开机速度还是软件的运行速度,在硬件不成为瓶颈之后,我们的确可以通过软件的手段来给系统提速。近来网上盛传关闭系统服务能加快Windows 7系统的启动速度、...
    99+
    2023-06-02
    Win7速度 启动速度 运行速度 启动 运行 速度 Wind7 系统
  • Windows XP系统中如何启动速度加速
    这篇文章将为大家详细讲解有关Windows XP系统中如何启动速度加速,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。随着Windows系统的身躯越来越庞大,到了Windows XP中,微软提...
    99+
    2023-06-14
  • winXP系统如何加快电脑启动速度解决电脑启动慢问题
    本文和大家分享Windows XP系统如何加快启动速度,解决电脑启动慢!这也是解决了很多电脑新手玩家遇到电脑启动慢不知道怎么去优化最头疼的一个问题,一台电脑以及它的相关外接设备到手了,它的硬件实体就固定了,这时候所能操作...
    99+
    2023-06-02
    winXP 启动速度 电脑启动慢 电脑 速度 启动 系统
  • win10如何快速启动
    要快速启动Windows 10,可以采取以下措施:1. 禁用启动时的不必要的应用程序:打开任务管理器(按下Ctrl + Shift ...
    99+
    2023-10-20
    win10
  • Win10设置快速启动加快应用启动的方法
      新装了Windows10系统,使用起来如何?有没有很快就启动应用呢?如果没有的话,那就来看一下本文关于Win快速启动的设置方法。   第一步、首先打开注册表编辑器,可以通过Windows徽标键+R来打开运行窗口,输入...
    99+
    2023-06-09
    Win10 应用 启动 方法
  • 开启Hybird Boot(混合启动技术)加快Win8启动速度的方法
    以下用最快捷的方法告诉你怎样开启Hybird boot快速启动功能。 工具/原料>Win8正式版 Windows控制面板 方法/步骤> 在Win8桌面上按键盘上的Windows徽标键+x键开...
    99+
    2022-06-04
    速度 方法 技术
  • Vue如何使用cdn加载资源加快打包速度
    目录为什么使用CDN解决方法使用CDN主要解决两个问题具体步骤资源引入打包对比附:vue项目常用的cdn地址总结为什么使用CDN Vue项目打包的时候,默认会把所有代码合并生产新文件...
    99+
    2024-04-02
  • oracle如何加快回滚速度
    这篇文章将为大家详细讲解有关oracle如何加快回滚速度,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。记得一次大批量删除数据时,由于回滚段满,导致delete操...
    99+
    2024-04-02
  • 如何加快cdn节点速度
    加快cdn节点速度的方法:将网站的内容分发到cdn所部署在国内外地区的节点上。把网站可缓存的内容都缓存到cdn节点上,减少访客访问网站服务器。在cdn后台配置绑定好网站域名和网站服务器ip。...
    99+
    2024-04-02
  • 如何加快Aria2下载速度
    这篇文章主要介绍如何加快Aria2下载速度,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Aria2 是一个多平台轻量级,支持 HTTP、FTP、BitTorrent 等多协议、多来源的命令行下载工具。Aria2 可以...
    99+
    2023-06-28
  • 如何加快win7关机速度
    这篇文章主要介绍了如何加快win7关机速度的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何加快win7关机速度文章都会有所收获,下面我们一起来看看吧。一、按“Win+R”唤出运行界面,输入“gpedit.ms...
    99+
    2023-06-28
  • 通过启动文件夹无法添加启动项如何快速添加Win8.1启动项
      以前我们用Win7或中这种方法就不行了。不过也不要灰心,Win8一样可以自己添加开机启动项。现在系统之家小编教你如何快速添加Win8.1启动项。   Win8.1添加启动项方法也非常简单,只要找点电脑开机启动文件夹,...
    99+
    2023-06-06
    Win8.1 启动项 文件夹
  • 利用spring boot如何快速启动一个web项目详解
    前言基于我们创建好的lion项目,使用spring boot,我们就可以通过很少的一些配置,便可以启动这个项目。下面话不多说了,来一起看看详细的介绍吧。方法如下:1 引入Spring boot,我们打开lion父模块的pom文件,继承 sp...
    99+
    2023-05-30
    springboot 快速启动 web项目
  • 云服务器如何加速网速速度快
    云服务器是一种提供服务器托管、管理和资源共享的服务,可以通过使用云服务器来加速网速。具体来说,加速云服务器需要考虑以下几个方面: 选择合适的云服务器:选择适合自己的云服务器品牌和产品,比如亚马逊的AWS和阿里云的天蝎云等,以及选择适合自...
    99+
    2023-10-26
    速度快 网速 服务器
  • 如何在Python中使用缓存加快数据加载速度?
    随着数据量的不断增加,数据加载速度成为了一个非常重要的问题。特别是在处理大型数据集时,长时间的等待和加载时间会让人感到非常不舒服。解决这个问题的一个有效方法是使用缓存技术来提高数据加载速度。缓存是一种将计算结果存储在内存中以便快速访问的技...
    99+
    2023-06-28
    load 缓存 开发技术
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作