Spring中spring

您所在的位置:网站首页 indexer是什么意思 Spring中spring

Spring中spring

#Spring中spring| 来源: 网络整理| 查看: 265

Spring中spring-context-indexer依赖有什么用 发布时间:2021-11-09 11:16:19 来源:亿速云 阅读:444 作者:小新 栏目:开发技术

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

Spring spring-context-indexer依赖              org.springframework         spring-context-indexer         5.2.0.RELEASE         true     

虽然类路径扫描非常快,但是Spring内部存在大量的类,添加此依赖,可以通过在编译时创建候选对象的静态列表来提高大型应用程序的启动性能。

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

配置springboot启动时自动打开浏览器 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(); }

现在使用的springboot 项目大了, 每次启动都非常的慢, 所有有了以下的依赖, 加速启动:

spring-context-indexer

说明

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

2.但是在此模式下,作为组件扫描目标的所有模块都必须使用此机制。才可以。

3.需要spring5以上才能使用,亲测有效, 依赖如下:

        org.springframework         spring-context-indexer         5.2.0.RELEASE         true

然后再你的启动类上加上一个注解: @Indexed ,用来表示, 你开启了索引, 会加速项目的启动速度.

原理说明:

先看官方的解释:

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

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

当Spring应用上下文执行ComponentScan扫描时,META-INT/spring.components将会被CandidateComponentsIndexLoader 读取并加载,转换为CandidateComponentsIndex对象,这样的话@ComponentScan不在扫描指定的package,而是读取CandidateComponentsIndex对象,从而达到提升性能的目的.

使用需注意点

虽然这个@Indexed注解能提升性能,但是在使用的时候也需要注意一一下。

假设Spring应用中存在一个包含META-INT/spring.components资源的a.jar,b.jar仅存在模式注解,那么使用@ComponentScan扫描这两个JAR中的package时,b.jar 中的模式注解不会被识别。

请务必注意这样的问题。

感谢各位的阅读!关于“Spring中spring-context-indexer依赖有什么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

推荐阅读: Spring中@Autowired注入有什么用 Spring中HttpMessageConverter有什么用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:[email protected]进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

spring 上一篇新闻:python函数应用范例 下一篇新闻:mybatis-plus拦截器敏感字段加解密的实现方法是什么 猜你喜欢 美国服务器网站内容没有被收录的原因有哪些 美国服务器会受到哪种类型的CC攻击 美国服务器禁止搭建哪些网站 造成美国服务器轻易被攻击的原因有哪些 美国服务器使用磁盘阵列有哪些优势 美国服务器如何防止数据丢失无法恢复 影响美国服务器速度快慢的因素有哪些 美国服务器具备多ip资源有什么优势 美国服务器设置防火墙需要注意什么 美国服务器租用有什么优势


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3