SpringBoot项目不加载数据源启动

Springboot + DruidDataSource 实现不重启项目加载修改后的数据源 背景 由于公司项目需求,研究了一下如何在项目不重启的情况下,修改了数据源配置后能正常使用新的数据源配置。在百度查找解决方案时找到了动态修改数据源和动态刷新配置两种方式,但是都不适合我的实际场景。百度找不到解决方案,自己尝试解析springboot自动加载配置数据源的源码,依然没有找到。最后无意间看DruidDataSource 的源码时发现里面有个restart方法就可以实现,只需要监听到配置有改... 阅读详情
AI摘要

本文解决SpringBoot项目启动时不加载数据源的问题。通过排除特定Bean配置,实现项目在不需要数据库连接的情况下也能正常启动。

1、未配置jdbc依赖项会报错找不到配置类(未配置yml、properties)

org.springframework.beans.factory.UnsatisfiedDependencyException: 
Error creating bean with name 'dataSource': 
Unsatisfied dependency expressed through field 'basicProperties'; 
nested exception is org.springframework.beans.factory.BeanCreationException:
 Error creating bean with name 'spring.datasource-org.springframework.boot.autoconfigure.jdbc.DataSourceProperties': 
Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseType

2、已配置依赖项的通常情况会报url错误

Fail to configure a DataSource :'url' attribute is not specified ...

3、此时需要在yml 、properties中配置先排除jdbc配置Bean

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

感兴趣的可以了解下类内部的配置详情

4、在启动类注解上排除Druid自动配置类

@SpringBootApplication(exclude={DruidDataSourceAutoConfigure.class})

5、maven进行clean后重新编译项目启动成功,接口正常访问(除数据库操作的接口)

PS:1、注意排除Bean不要出现引包错误;

        2、Spring版本2.0.3.RELEASE,不同版本排除类可能有差异,具体需要查看报错详情,思路事一样的。

多数据源 - dynamic-datasource | 进阶 - 懒加载、初始化SQL、无数据源启动 基于 SpringBoot 的多数据源实现 dynamic-datasource,实现懒加载、初始化SQL及无数据源启动。 阅读详情

相关推荐

SpringBoot项目从mysql数据源改造为kingbase数据源的一些常见sql问题

这种情况的问题是mysql支持定义临时变量,但kingbase不支持,所以这种情况一般需要用写函数或者存储过程的方式解决。

qq_41930763的博客 2064

SpringBoot启动异常 Error starting ApplicationContext.

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2019-05-12 18:44:45.365 ERROR 13480 --- [ main] o.s.b.d.LoggingFailureAnalys...

TT的博客 1534

springboot+ flowable 配置动态数据源(程序启动时进行指定flowable数据库启动)

在原有的项目内嵌入了flowable工作流,由于flowable表过多避免造成混乱所以决定将flowable数据库与原项目数据库分开,进行多数据源的配置使用mybatis-puls提供的工具包,dynamic,POM文件引入jar包 然后再yml内配置多数据源 多数据源配置完成,需要切换数据源使用DS注解(这块不懂的可以进行百度,这里不做详细描述)默认原项目数据源,启动报错在创建AppEngineFactoryBean这个bean的时候,说找不到表,默认配置下还是获取原项目数据库根据报错的 AppEngin

阿泽的博客 6705

【Java】无数据源启动

无数据源启动的方式

qq_42666609的博客 2106

解决Spring Boot启动异常:未配置数据源的问题

在本文中,我们解决了Spring Boot启动过程中的数据源配置异常问题。我们通过添加数据库依赖并配置正确的数据源信息,成功解决了启动异常。请注意,在实际开发中,你可能需要根据自己的具体情况进行适当的调整和修改。在使用Spring Boot开发Java应用程序时,经常会遇到启动过程中的异常情况。其中一个常见的问题是未配置数据源,导致应用程序无法正常启动。这个异常信息表明在启动应用程序时,Spring Boot无法找到可用的数据源配置。这次应该能成功启动,并且不再出现数据源配置的异常。步骤3:启动应用程序。

TechRoar的博客 1276

SpringBoot 系列教程(九):SpringBoot 数据源未配置,启动异常问题解决

1、问题 在使Springboot自动生成的项目框架时如果选择了数据源,比如选择了mysql依赖,生成项目之后,在没有任何的配置时启动会报一下异常,运行程序后,控制台输出错误日志: 2018-12-04 14:00:46.890 WARN 6592 --- [ main] o.a.c.loader.WebappClassLoaderBase : The we...

Thinkingcao的专栏 3300

springboot 配置不连接数据库启动

不需要连接数据源,但是仍然加载了datasource url,检查日志是加载了哪里的配置,排除掉即可;依次类推,可能会有多个默认数据源配置的加载,多次启动默认加载了那个就排除掉;看一些其他博客也有排除配置的,这个需要看具体连接池使用情况;

扶摇的博客 9893

CentOS 7 安装 Python 3.10

我这里已经软链接了,正常未链接之前是python->python2.7而不是python3.10。python2.7默认安装是在 /usr/bin目录中,切换到/usr/bin/更改yum配置,因为其要用到python2才能执行,否则会导致yum不能正常使用。2. 安装 Python 3.10 必需的 openssl >= 1.1.1。默认的centos7是没有安装pip,先添加epel扩展源。/usr/bin/python 修改为如下。添加软链接,将原来的链接备份。添加python3的软链接。

bensonyang888的博客 2906

前端项目spring boot启动类不需要加载数据源直接可以启动

主启动类注解配置如下,便不会加载数据源,可以正常启动。

weixin_54685622的博客 1143

【隐私计算】从本地加法到在线乘法:Beaver Triple如何重塑算术秘密分享的运算效率

本文深入探讨了Beaver Triple在算术秘密分享中的关键作用,显著提升了隐私计算中的乘法运算效率。通过对比加法与乘法的实现差异,详细解析了Beaver Triple的预处理机制和在线计算优化,展示了其在减少通信量和计算时间方面的革命性突破。

weixin_29227585的博客 436

PyCharm + Anaconda虚拟环境:完美配置PySide6开发三件套(Designer/UIC/RCC)的避坑指南

本文详细介绍了如何在PyCharm和Anaconda虚拟环境中配置PySide6开发三件套(Designer/UIC/RCC),提供从环境准备到工具集成的完整解决方案。通过清晰的路径定位和PyCharm外部工具配置指南,帮助开发者快速搭建高效的Python GUI开发环境,避免常见配置陷阱。

weixin_28828243的博客 339

Springboot2.1.9+druid+mybatits(不重启项目动态添加mysql和oracle数据源)和数据监控

一、前言 最近公司来了一个项目,在理需求和编写接口文档的时候有一个比较有意思的需求:项目启动时不加载数据库,然后管理页面需要提供一个接口,用来配置数据库,配置成功后才连接数据库。于是我做了以下的尝试。 二、技术预研 1.我首先想到的是:不配置url 2019-11-22 16:16:27.268 ERROR 90476 --- [ main] o.s.b.d.Logging...

笑不语的博客 1021

ArcGIS小白必看:5分钟搞定shp矢量文件分割(附常见错误排查)

本文为ArcGIS新手详细解析了分割shp矢量文件的四种核心方法:裁剪工具、分割工具、按属性选择导出及ArcPy脚本自动化。重点强调了投影匹配等关键步骤,并提供了常见错误排查指南,帮助用户快速掌握矢量数据分割技巧,提升GIS数据处理效率。

h9j8k7l6m5n的博客 802

SpringBoot配置多数据源其中部分数据源配置文件不配置

springboot多数据源下部分数据源可不配置配置文件

weixin_45102492的博客 725

kali2020.2安装出现的问题并附详细解决办法

kali2020.2的安装

weixin_48776804的博客 3050

【读代码】从claude skills到superpowers项目

最近claude skills成了大热门,今天一起看下GitHub 上的开源技能框架,他将“工作流”封装为“技能” (Skills)。本文尝试剖析该项目的技能粒度定义、多技能关联架构、应用逻辑等。与传统的 Function Calling 不同,Superpowers 中的 Skill 定义粒度并非“原子操作”,而是**“认知模式” (Cognitive Mode) 或“工作阶段”**。

kakaZhui的博客 1924

druid 手动指定数据源_Springboot2.1.9+druid+mybatits(不重启项目动态添加mysql和oracle数据源)和数据监控...

一、前言最近公司来了一个项目,在理需求和编写接口文档的时候有一个比较有意思的需求:项目启动时不加载数据库,然后管理页面需要提供一个接口,用来配置数据库,配置成功后才连接数据库。于是我做了以下的尝试。二、技术预研 1.我首先想到的是:不配置url2019-11-22 16:16:27.268 ERROR 90476 --- [ main] o.s.b.d.LoggingFailu...

weixin_39614262的博客 406

我正用AI Agent重构传统GIS 核心功能,说大白话做空间分析

GeoAI-UP项目通过AI Agent技术实现自然语言驱动的空间分析,核心创新包括: 意图识别层:通过LLM理解用户需求,自动拆解为可执行目标 智能任务规划:动态生成分析流程,处理复杂依赖关系 统一算子架构:采用标准化接口封装200+空间分析功能 可视化工作流。

专注GIS软件开发。 496

springboot项目打成jar包可运行,但打成war包无法运行

问题描述 SpringBoot项目根据官方文档https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-create-a-deployable-war-file打包成war包后,放入tomcat下运行,catalina.out日志报如下图所示错误: 解决方法 1、打包成war的步骤: (1)pom.xm...

sunchang0725的博客 4758

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

SpringBoot+MyBatis分包配置多数据源

SpringBoot+MyBatis分包配置多数据源

yy1209357299的博客 339

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

在使用springboot启动项目时,数据库报错缺失文件

项目场景: 在使用springboot启动项目时报错 Failed to configure a DataSource: ‘url’ attribute is not specified and no embedded datasource could be configured. 问题描述: 原因分析: 这是因为没有在配置文件中添加数据库导致的 解决方案: 1.在properties配置文件中加入数据库信息 2.如果不需要加载数据库可以在启动类中取消加载数据库 ...

weixin_45993094的博客 879

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

class不生效 weblogic_Springboot2.1.9+druid+mybatits(不重启项目动态添加mysql和oracle数据源)和数据监控...

一、前言最近公司来了一个项目,在理需求和编写接口文档的时候有一个比较有意思的需求:项目启动时不加载数据库,然后管理页面需要提供一个接口,用来配置数据库,配置成功后才连接数据库。于是我做了以下的尝试。二、技术预研1.我首先想到的是:不配置url2019-11-2216:16:27.268ERROR90476---[main]o.s.b.d.LoggingF...

weixin_39657300的博客 183

SpringBoot实现多数据源(启动时不加载数据库)

1.前言 本篇文章主要是完成springboot整合多数据源,一般都用来解决那些比较复杂需要连接不同的数据库来支持业务,可以做到不同的接口连接不同的数据库来请求数据,在配置方面不同于其他人的文章在application.yml文件里面配置两三个数据库连接,当然这种只适用于数据库数量不多且固定的情况。针对数据库动态增加的情况无能为力,当你有很多数据库需要连接时,这篇文章就为你提供了解决方法。 2.项...

weixin_42694286的博客 9728

动态数据源启动速度优化:懒加载数据源终极指南

🚀 你是否曾经为SpringBoot项目启动缓慢而烦恼?特别是在使用多数据源时,系统启动时连接所有数据库导致启动时间急剧增加。dynamic-datasource动态数据源框架的懒加载功能正是解决这一痛点的完美方案! ## 什么是懒加载数据源?🤔 懒加载数据源是dynamic-datasource框架的核心特性之一,它允许数据源在真正需要时才被创建和初始化,而不是在应用启动时就建立所有连接

gitblog_00690的博客 1048
上一篇: 银河麒麟Linux系统
下一篇: JVM常用参数设置
SQL_sqq
博客等级 码龄4年 44粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值