广告
返回顶部
首页 > 资讯 > 精选 >Spring Boot实现自动化配置的优缺点有哪些
  • 119
分享到

Spring Boot实现自动化配置的优缺点有哪些

springbootspringboo 2023-05-31 08:05:35 119人浏览 八月长安
摘要

Spring Boot实现自动化配置的优缺点有哪些?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Spring Boot中的双刃剑:自动化配置spring Boot的自动化配

Spring Boot实现自动化配置的优缺点有哪些?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

Spring Boot中的双刃剑:自动化配置

spring Boot的自动化配置给我们所带来的超便利的新开发方式。但是,在一些情况下Spring Boot的自动化配置也会给我们惹来不少的麻烦,比如这些场景:

项目依赖复杂的情况下,由于依赖方的依赖组织不够严格,可能引入了一些实际我们不需要的依赖,从而导致我们的项目满足一些特定的自动化配置。

传统Spring项目转换为Spring Boot项目的过程中,由于不同的组织方式问题,引发自动化配置加载的错误,比如:通过xml手工组织的多数据源配置等。

上面这些原因都会导致不必要的自动化配置加载而导致应用无法启动或触发/health的健康检查不通过等问题。比如,我们在改造传统Spring项目到Spring Boot项目中碰到的一些错误:

六月 21, 2017 6:23:47 下午 org.apache.catalina.loader.WEBappClassLoaderBase clearReferencesThreads警告: The web application [ROOT] appears to have started a thread named [Abandoned connection cleanup thread] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: java.lang.Object.wait(Native Method) java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143) com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:43)2017-06-21 18:23:47,230 INFO [main] org.springframework.boot.autoconfigure.logging.AutoConfigurationReportLoggingInitializer - Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.2017-06-21 18:23:47,237 ERROR [main] org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter - ***************************APPLICATION FAILED TO START***************************Description:Cannot determine embedded database driver class for database type NONEAction:If you want an embedded database please put a supported one on the classpath. If you have database settings to be loaded from a particular profile you may need to active it (no profiles are currently active).

从报错信息中,我们就可以分析出错误原因是触发了数据源的自动化配置,然而当前项目其实并不需要数据源。查其根源是依赖方提供的api依赖中引用了一些多余的依赖触发了该自动化配置的加载。

如何解决

为了解决上面所述的问题,我们可以用两种方法来解决:

  • 通过外部依赖的修改来解决:通过与依赖方沟通,在对方提供的API依赖中去掉不必要的依赖

  • 通过禁用指定的自动化配置来避免加载不必要的自动化配置,下面列举了禁用的方法:

使用了@EnableAutoConfiguration的时候

@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})

使用了@SpringBootApplication的时候

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})

使用了@SpringCloudApplication的时候

@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})@SprinGCloudApplication

通过配置文件来设置

spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration

关于Spring Boot实现自动化配置的优缺点有哪些问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网精选频道了解更多相关知识。

--结束END--

本文标题: Spring Boot实现自动化配置的优缺点有哪些

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Spring Boot实现自动化配置的优缺点有哪些
    Spring Boot实现自动化配置的优缺点有哪些?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Spring Boot中的双刃剑:自动化配置Spring Boot的自动化配...
    99+
    2023-05-31
    springboot spring boo
  • Spring Boot配置文件的知识点有哪些
    本篇内容主要讲解“Spring Boot配置文件的知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Spring Boot配置文件的知识点有哪些”吧!配置基础Spring Boot的默认...
    99+
    2023-06-04
  • selenium自动化测试框架有哪些优缺点
    Selenium是一种自动化测试框架,用于测试Web应用程序的功能和UI。它有以下优点和缺点:优点:1. 开源:Selenium是一...
    99+
    2023-10-11
    selenium
  • SpringBoot自动装配的优点有哪些
    本篇内容介绍了“SpringBoot自动装配的优点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、 springBoot自动配置的好...
    99+
    2023-06-25
  • 实现UI自动化测试的问题有哪些
    本文小编为大家详细介绍“实现UI自动化测试的问题有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“实现UI自动化测试的问题有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。首先,讲讲UI自动化测试的误区吧误...
    99+
    2023-06-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作