SpringBoot Application的exclude不生效问题及排查

 更新时间:2023年11月06日 10:10:41   作者:sutonline  
这篇文章主要介绍了SpringBoot Application的exclude不生效问题及排查,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

SpringBootApplication的exclude不生效问题排查

背景

ManApplication上添加了SpringBootApplication中配置了

exclude={org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchAutoConfiguration.class}

但是在启动过程了ElasticsearchAutoConfiguration还是加载了,使用配置文件的方式就可以避免加载。

排查

首先怀疑是不是启动的类加载了ElasticsearchAutoConfiguration的初始化方法,查找无果。

于是想通过SpringBootApplication的启动过程来排查。

SpringBootApplication的启动入口是SpringApplication.run()方法。

调用时序图

可以参考以下:

在debug的过程中发现还有其他的@EnableAutoConfiguration注解,更直白的说是jar包存在类中@SpringBootApplication没有exclude.

EnableAutoConfigurationImportSelector类可以看到getExclusions的逻辑正好解释了这一现象。

另外从注解可以直接达到,以后有关@…AutoConfiguration的应该找注解上的@Import注解中的解析类,可以直达解析逻辑。

结论

1.使用配置的方式进行exclude

2.推动包含@EnableAutoConfiguration的去掉,因为jar包内不应该有。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot使用spring.config.import多种方式导入配置文件

    SpringBoot使用spring.config.import多种方式导入配置文件

    本文主要介绍了SpringBoot使用spring.config.import多种方式导入配置文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • java synchronized关键字的用法

    java synchronized关键字的用法

    synchronized关键字我们大家都知道是线程同步关键字.总结一下日常的使用方法,还有一个坑.
    2016-05-05
  • Java中@RestController注解使用

    Java中@RestController注解使用

    在Spring框架中,@RestController注解是一个非常重要的注解,它用于将一个类标记为RESTful风格的控制器,本文就来介绍一下Java中@RestController注解使用,感兴趣的可以了解一下
    2023-11-11
  • Java实现顺序栈原理解析

    Java实现顺序栈原理解析

    这篇文章主要介绍了Java实现顺序栈原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • java 排序算法之选择排序

    java 排序算法之选择排序

    本文主要讲解了java 排序算法之选择排序,选择排序是最简单直观的一种算法,想要了解相关知识的朋友快来看一看这篇文章吧
    2021-09-09
  • JavaWeb入门:HttpResponse和HttpRequest详解

    JavaWeb入门:HttpResponse和HttpRequest详解

    这篇文章主要介绍了Django的HttpRequest和HttpResponse对象,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2021-07-07
  • Gateway+Swagger2配置聚合文档方式

    Gateway+Swagger2配置聚合文档方式

    这篇文章主要介绍了Gateway+Swagger2配置聚合文档方式,具有很好的参考价值,希望对大家有所帮助。
    2023-03-03
  • RocketMQ实现随缘分BUG小功能示例详解

    RocketMQ实现随缘分BUG小功能示例详解

    这篇文章主要为大家介绍了RocketMQ实现随缘分BUG小功能示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • Java实现选择排序算法的实例教程

    Java实现选择排序算法的实例教程

    这篇文章主要介绍了Java实现选择排序算法的实例教程,选择排序的时间复杂度为О(n²),需要的朋友可以参考下
    2016-05-05
  • Java数据结构及算法实例:插入排序 Insertion Sort

    Java数据结构及算法实例:插入排序 Insertion Sort

    这篇文章主要介绍了Java数据结构及算法实例:插入排序 Insertion Sort,本文直接给出实例代码,代码中包含详细注释,需要的朋友可以参考下
    2015-06-06

最新评论