Spring中spring-context-indexer依赖有什么用

技术Spring中spring-context-indexer依赖有什么用这篇文章给大家分享的是有关Spring中spring-context-indexer依赖有什么用的内容。小编觉得挺实用的,因此分享给大家做个参考,

本文是关于spring中Spring上下文索引器依赖的使用。我觉得边肖很实用,就和大家分享一下作为参考。让我们跟着边肖看一看。

Spring spring-context-indexer依赖

相关性

属国

groupIdorg.springframework/groupId

artifactIdspring-上下文索引器/artifactId

version5.2.0.RELEASE/version

可选用户/可选用户

/依赖性

/dependencies虽然类路径扫描非常快,但是Spring中有大量的类。添加这种依赖关系可以通过在编译时创建候选对象的静态列表来提高大规模应用程序的启动性能。

在这种模式下,作为组件扫描目标的所有模块都必须使用这种机制。

配置springboot启动时自动打开浏览器 spring-context-indexer原理

int port=8080;

stringport prefix='-server . port=';

for(string : args){ 0

if(arg.startsWith(端口前缀)){ 0

port=integer . parseint(arg . substring(portprefix . length()));

}

}

springapplication . run(appregisterapplication . class,args);

尝试{

Runtime.getRuntime()。exec(' cmd/cstart http://localhost : '端口);

} catch(IOexceptione){ 0

e . printstacktrace();

}现在使用的springboot项目比较大,每次启动都很慢,所以用下面的依赖项,加速:的启动。

spring-context-indexer

说明

1.虽然类路径扫描非常快,但是Spring中有大量的类。添加这种依赖关系可以通过在编译时创建候选对象的静态列表来提高大规模应用程序的启动性能。

2.但是,在这种模式下,作为组件扫描目标的所有模块都必须使用这种机制。只有那时。

3.根据以下:需要使用spring5或更高版本,并且母测试有效

属国

groupIdorg.springframework/groupId

artifactIdspring-上下文索引器/artifactId

version5.2.0.RELEASE/version

可选用户/可选用户

/dependency,然后在启动类中添加一个note : @Indexed,表示如果打开索引,将加快项目的启动速度。

原理说明:

先看官方解释:

Spring中spring-context-indexer依赖有什么用

在项目中使用@Indexed后,编译打包时项目中会自动生成META-INT/spring.components文件。

当Spring应用程序上下文执行ComponentScan时,META-INT/spring.components将被CandidateComponentsIndex loader读取和加载,并转换为candidate components sindex对象。在这种情况下,@ComponentScan不是扫描指定的包,而是读取CandidateComponentsIndex对象,从而提高性能。

使用需注意点

虽然这个@Indexed注释可以提高性能,但是在使用它时应该注意它。

假设spring应用程序中有一个包含META-INT/spring.components资源的A. JAR,b.jar中只存在模式注释,那么在使用@ ComponentScan扫描这两个JAR中的包时,B. jar中的模式注释将无法被识别。

请注意这样的问题。

感谢阅读!我希望在这里分享这篇关于“spring中Spring上下文索引器依赖有什么用”的文章。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/77259.html

(0)

相关推荐

  • Flink 的运行架构详细剖析

    技术Flink 的运行架构详细剖析 Flink 的运行架构详细剖析1. Flink 程序结构
    Flink 程序的基本构建块是流和转换(请注意,Flink 的 DataSet API 中使用的 DataS

    礼包 2021年11月4日
  • python计算两个坐标点的距离(python怎么求两条直线的交点)

    技术Python怎么计算点到直线距离和直线间交点夹角这篇文章主要讲解了“Python怎么计算点到直线距离和直线间交点夹角”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Py

    攻略 2021年12月22日
  • 树莓派linux内核如何编译

    技术树莓派linux内核如何编译树莓派linux内核如何编译,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。之前我们讲过树莓派交叉编译工具链的安装和配置,今天

    攻略 2021年10月21日
  • python-生成器对象-常见内置函数

    技术python-生成器对象-常见内置函数 python-生成器对象-常见内置函数目录异常捕获(二)for循环本质迭代取值与索引取值对比生成器对象自定义range功能yield传值yeild与retur

    礼包 2021年11月23日
  • java过滤器与拦截器的具体区别(java拦截器是什么模式)

    技术Java拦截器以及自定义注解的使用是怎么样的Java拦截器以及自定义注解的使用是怎么样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1,设置预处理,设

    攻略 2021年12月21日
  • CSS面试题有哪些

    技术CSS面试题有哪些本篇内容主要讲解“CSS面试题有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS面试题有哪些”吧!1、flex常见面试题Flex 是 Flexi

    攻略 2021年12月10日