当前位置: 首页 > news >正文

在Spring Boot启动时禁止自动配置数据源相关的组件、@SpringBootApplication

一、@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})注解

在Spring Boot启动时禁止自动配置数据源相关的组件。

  • @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})注解的使用案例

这个注解通常应该写在微服务项目的主启动类上,也就是包含 main 方法的那个类。示例代码如下:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
public class YourApplication {public static void main(String[] args) {SpringApplication.run(YourApplication.class, args);}
}
  • @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})注解的作用

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) 注解的作用在于定制Spring Boot的自动配置行为。Spring Boot的一大特性是自动配置(Auto-Configuration),它会根据项目类路径下的依赖自动配置Spring容器中的各种bean,极大地简化了应用的配置工作。DataSourceAutoConfiguration 是Spring Boot自动配置模块的一部分,它负责自动配置数据源(DataSource)的相关bean,如DataSource本身、JdbcTemplate、NamedParameterJdbcTemplate等。当项目中引入了数据库相关的依赖(如mysql-connector-java)时,Spring Boot默认会自动配置数据源。如果您在项目中不想使用Spring Boot自动配置的数据源,而是想手动配置或完全不使用数据库,那么可以使用 exclude 属性来排除 DataSourceAutoConfiguration 类。这样,Spring Boot启动时就不会尝试自动配置数据源相关的bean,也不会读取 spring.datasource.* 配置项去连接数据库。总结来说,@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) 注解的主要作用是:在Spring Boot启动时禁止自动配置数据源相关的组件。

该注解我是为了解决以下问题

我不想要微服务项目中子项目中的mysql相关配置了,单无论如何都无法删除以下配置

spring.datasource.url=jdbc:mysql://${TARGET_DB_IP}:${TARGET_DB_PORT}/${TARGET_DB_NAME}?useUnicode=true&autoReconnect=true&characterEncoding=UTF-8&allowMultiQueries=true
spring.datasource.username=${TARGET_DB_USER_NAME}
spring.datasource.password=${TARGET_DB_PASSWORD}
spring.datasource.driver-clas-name=com.mysql.jdbc.Driver

只要删了就会报错,把用到该环境变量的配置文件删了项目可以运行,但是把以上配置删了就会报错如下:

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.Reason: Failed to determine a suitable driver classAction:Consider the following:If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.If you have database settings to be loaded from a particular profile you may need to activate it (the profiles test are currently active).

想着把mysql涉及的依赖都排除掉,就是用

<dependency>
<groupId>material-manage</groupId>
<artifactId>inAndOut-manage-service</artifactId>
<version>0.0.1</version>
<exclusions>
<exclusion>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</exclusion>
</exclusions>
</dependency>

该方法从子项目中把父项目的mysql依赖排除都会报错,最终用@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})注解解决。

二、@SpringBootApplication(exclude = ErrorMvcAutoConfiguration.class)注解

还有该注解与@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})注解功能正好相反

  • @SpringBootApplication(exclude = ErrorMvcAutoConfiguration.class)注解的作用是在启动Spring Boot应用时,排除ErrorMvcAutoConfiguration自动配置类的加载。

ErrorMvcAutoConfiguration类是Spring Boot提供的自动配置类之一,它用于配置错误页面和错误处理机制。当我们不想使用默认的错误页面和错误处理逻辑时,可以使用exclude属性将ErrorMvcAutoConfiguration类排除掉。

通过排除ErrorMvcAutoConfiguration类,我们可以自定义错误页面和错误处理逻辑,或者使用其他的错误处理机制。

相关文章:

在Spring Boot启动时禁止自动配置数据源相关的组件、@SpringBootApplication

一、SpringBootApplication(exclude {DataSourceAutoConfiguration.class})注解 在Spring Boot启动时禁止自动配置数据源相关的组件。 SpringBootApplication(exclude {DataSourceAutoConfiguration.class})注解的使用案例 这个注解通常应该写在微服务项目的主启动类上&…...

程序人生:不积跬步无以致千里

程序人生 癸卯年冬月&#xff0c;往渭南韩城&#xff0c;拜访司马迁祠。入门攀爬而上&#xff0c;至人有困乏之时&#xff0c;抬头现&#xff1a;高山仰止。归路下山&#xff0c;始现三官洞&#xff0c;遥想西汉时三官洞&#xff0c;出口处刻意再拜别&#xff1a;高山仰止。泪…...

通过二叉树例题深入理解递归问题

目录 引入&#xff1a; 例1&#xff1a;二叉树的前序遍历&#xff1a; 例2&#xff1a; N叉树的前序遍历&#xff1a; 例3&#xff1a;二叉树的最大深度&#xff1a; 例4&#xff1a;二叉树的最小深度 例5&#xff1a;N叉树的最大深度&#xff1a; 例6&#xff1a;左叶子…...

【Android 协程常见用法】

我们这里只讲解一下&#xff0c;协程在Android项目中常见用法&#xff0c;原理知识不在进行说明了。 依赖 lifecycleScope只能在Activity、Fragment中使用&#xff0c;会绑定Activity和Fragment的生命周期。依赖库&#xff1a; implementation androidx.lifecycle:lifecycle…...

python 进程笔记一 (概念+示例代码)

1. 进程的概念 进程是资源分配的最小单位&#xff0c;也是线程的容器&#xff0c;线程&#xff08;python 线程 &#xff08;概念示例代码&#xff09;&#xff09;是CPU调度的基本单位&#xff0c;一个进程包括多个线程。 程序&#xff1a;例如xxx.py是一个程序 进程&#xf…...

各中间件数据库默认访问端口总结

说明 在生态丰富的开发环境下&#xff0c;我们常常需要接触很多中间件产品&#xff0c;中间件默认的连接端口以及可视化ui访问端口也时不时的需要用到&#xff0c;这里循序渐进做好登记&#xff0c;以备查阅&#xff01; 中间件/数据库名称默认端口管理台端口默认账号密码rabbi…...

鲲鹏arm64架构下安装KubeSphere

鲲鹏arm64架构下安装KubeSphere 官方参考文档: https://kubesphere.io/zh/docs/quick-start/minimal-kubesphere-on-k8s/ 在Kubernetes基础上最小化安装 KubeSphere 前提条件 官方参考文档: https://kubesphere.io/zh/docs/installing-on-kubernetes/introduction/prerequi…...

python 函数-02-返回值注释格式

01 函数返回值 1&#xff09;python中函数可以没有返回值&#xff0c;也可以有通过return的方式 – 【特殊性&#xff0c;区别于java c#等】 2&#xff09;返回值可以是一个或者多个&#xff0c;多个时通过逗号隔开 – 【特殊性&#xff0c;区别于java c#等】 3&#xff09;多…...

【前端素材】推荐优质后台管理系统Upcube平台模板(附源码)

一、需求分析 后台管理系统在多个层次上提供了丰富的功能和细致的管理手段&#xff0c;帮助管理员轻松管理和控制系统的各个方面。其灵活性和可扩展性使得后台管理系统成为各种网站、应用程序和系统不可或缺的管理工具。 当我们从多个层次来详细分析后台管理系统时&#xff0…...

可视化 RAG 数据 — 用于检索增强生成的 EDA

原文地址&#xff1a;Visualize your RAG Data — EDA for Retrieval-Augmented Generation 2024 年 2 月 8 日 Github&#xff1a;https://github.com/Renumics/rag-demo/blob/main/notebooks/visualize_rag_tutorial.ipynb 为探索Spotlight中的数据&#xff0c;我们使用Pa…...

数学建模论文、代码百度网盘链接

1.[2018中国大数据年终总决赛冠军] 金融市场板块划分与轮动规律挖掘与可视化问题 2.[2019第九届MathorCup数模二等奖] 数据驱动的城市轨道交通网络优化策略 3.[2019电工杯一等奖] 露天停车场停车位的优化设计 4.[2019数学中国网络数模一等奖] 基于机器学习的保险业数字化变革…...

mysql 迁移-data目录拷贝方式

背景&#xff1a;从服务器进水坏掉&#xff0c;50多G的数据库要重新做主从&#xff0c;但以导入导出的方式太慢&#xff0c;简直是灾难性的&#xff0c;一夜都没好&#xff0c;只好想到了拷贝mysql数据文件的方式 拷贝的数据文件的前提 1.数据库版本必需一致&#xff08;可以…...

学习 LangChain 的 Passing data through

学习 LangChain 的 Passing data through 1. Passing data through2. 示例 1. Passing data through RunnablePassthrough 允许不改变或添加额外的键来传递输入。这通常与 RunnableParallel 结合使用&#xff0c;将数据分配给映射中的新键。 RunnablePassthrough() 单独调用&…...

C# OpenVINO PaddleSeg实时人像抠图PP-MattingV2

目录 效果 项目 代码 下载 C# OpenVINO 百度PaddleSeg实时人像抠图PP-MattingV2 效果 项目 代码 using OpenCvSharp; using Sdcb.OpenVINO; using System; using System.Diagnostics; using System.Drawing; using System.Security.Cryptography; using System.Text; us…...

【Android 11】AOSP Settings WIFI随机MAC地址功能

AOSP Settings WIFI随机MAC地址功能 背景 最近客户提出了想要实现随机WIFIMAC地址的功能&#xff08;我们默认WIFI的MAC地址是固定的&#xff09;。网上搜到了一篇不错的文章&#xff0c;本次改动也是基于这个来写的。 由于客户指定使用的settings是AOSP的&#xff0c;所以在…...

dmrman备份还原

脱机还原工具-dmrman 前言 根据达梦官网文档整理 一、概述 DMRMAN 命令行设置参数执行又可分为命令行指定脚本、命令行指定语句两种执行方式。 指定语句 $ DMRMAN RMAN>BACKUP DATABASE/dmdata/data/DAMENG/dm.ini;指定脚本 创建一个名为 cmd_file.txt 的文件&#x…...

网页403错误(Spring Security报异常 Encoded password does not look like BCrypt)

这个错误通常表现为"403 Forbidden"或"HTTP Status 403"&#xff0c;它指的是访问资源被服务器理解但拒绝授权。换句话说&#xff0c;服务器可以理解你请求看到的页面&#xff0c;但它拒绝给你权限。 也就是说很可能测试给定的参数有问题&#xff0c;后端…...

单细胞多组学整合与对齐的计算方法

Computational Methods for Single-cell Multi-omics Integration and Alignment Bioinformatics-2022-密西根大学 关键词&#xff1a;单细胞;多组学;机器学习;无监督学习;集成 摘要 最近发展起来的生成单细胞基因组数据的技术在生物学领域产生了革命性的影响。多组学测定提…...

33.openeuler OECA认证模拟题16

一 、选择题 1.如何查看系统支持的 shell? A、cat /etc/passwd B、cat /etc/shells C、echo SSHELL D、echo $0 答案 :B 2.下列哪项不是 shell的功能? A 、 用户界面,提供用户与内核交互接口 B 、 命令解释器 C 、提供编译环境 D 、 提供各种管理工具,…...

javaScript数组去重的几种实现方式——适用非引用数据去重

最传统的使用循环遍历 //最传统的使用循环遍历 function getUnique(arr) {let newArr [];for (let i 0; i < arr.length; i) {for (let j i 1; j < arr.length; j) {if (arr[i] arr[j]) {i; //相同丢掉前面的元素}}newArr.push(arr[i]);}return newArr; } 利用Set实…...

Nexus Repository Manager

Nexus Repository Manager https://s01.oss.sonatype.org/#welcome https://mvnrepository.com/-CSDN博客...

Python世界之运算符

一、算术运算符 以下假设变量&#xff1a; a10&#xff0c;b20&#xff1a; 运算符 描述 实例 加 - 两个对象相加 a b 输出结果 30 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10 * 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结…...

蓝桥杯倒计时47天!DFS基础——图的遍历

倒计时47天&#xff01; 深度优先搜索——DFS 温馨提示&#xff1a;学习dfs之前最好先了解一下递归的思想。 DFS基础——图的遍历 仙境诅咒 问题描述 在一片神秘的仙境中&#xff0c;有N位修仙者&#xff0c;他们各自在仙境中独立修炼&#xff0c;拥有自己独特的修炼之道…...

体验LobeChat搭建私人聊天应用

LobeChat是什么 LobeChat 是开源的高性能聊天机器人框架&#xff0c;支持语音合成、多模态、可扩展的&#xff08;Function Call&#xff09;插件系统。支持一键免费部署私人 ChatGPT/LLM 网页应用程序。 地址&#xff1a;https://github.com/lobehub/lobe-chat 为什么要用Lobe…...

ClickHouse 指南(三)最佳实践 -- 主键稀疏索引

在ClickHouse主索引的实用介绍 ClickHouse release 24.1, 2024-01-30 1、简介 在本指南中&#xff0c;我们将深入研究ClickHouse索引。我们将详细说明和讨论: ClickHouse中的索引与传统的关系数据库管理系统有何不同ClickHouse是如何构建和使用表的稀疏主索引的什么是在Clic…...

【Nginx】Nginx配置反向代理 和 https

nginx.conf配置 进入linux /etc/nginx/ 打开nginx.conf 进行以下配置 http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;server {#监听443端口listen 443 ssl;#你的域名server_name huiblog.top;#ssl证书的pe…...

ChatGPT第七讲

ChatGPT为什么会被热炒&#xff1f; 2023年上半年&#xff0c;ChatGPT引起了广泛的热议&#xff0c;对于ChatGPT有多热&#xff0c;不需要我重复了&#xff0c;你可能在网上看到了很多报道&#xff0c;标题如《ChatGPT揭开AI战幔&#xff1a;杀死黄页一样摧毁Google&#xff1f…...

Chapter 2 of Effective C++ (构造/析构/赋值运算)

条款06&#xff1a;了解C默默编写并调用哪些函数 Know what functions C silently writes and calls 编译器会为空类生成一个copy构造函数、copy assignment操作符和一个析构函数。此外如果你没有声明任何构造函数&#xff0c;它也会生成一个默认构造函数。 &#xff08;对C1…...

Android学习笔记 service启动方式

在Android系统中&#xff0c;Service的启动方式主要有两种&#xff1a; ## 1. startService 这种方式用于启动一个服务执行后台任务&#xff0c;不进行通信。当你调用startService()方法启动服务后&#xff0c;服务会一直无限期运行下去&#xff0c;只有在外部调用了stopServi…...

Redis 工具类 与 Redis 布隆过滤器

Redis 工具类 1. 核心依赖 <!--redis--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency><groupId>com.google.guava…...

电子商务网站管理系统完美版/网站外链平台

1、获取体素在全局坐标系下的坐标&#xff08;x,y,z&#xff09;,根据ICP配准得到的变换矩阵&#xff0c;将体素的坐标从全局坐标系转换到相机坐标系&#xff1b; 2、根据相机的内参矩阵&#xff0c;转换到图像坐标系&#xff0c;得到体素所在的图像坐标&#xff08;u,v&#x…...

网站编程工具/百度 营销推广怎么收费

前言 在去年十月的时候参加了一个小比赛&#xff0c;做了一个人脸识别程序并很意外地获得省里面的一等奖&#xff0c;视频演示链接在这里&#xff0c;有同学想要做这方面的毕业设计or课程设计&#xff0c;发一篇博客来分享一下当时的开发过程。 视频演示链接 Github链接 项目简…...

wordpress添加动态图标/搜索引擎营销的原理是什么

STL之deque容器1. deque容器基本概念2. deque容器实现原理3. deque常用API1. deque容器基本概念 vector容器是单向开口的连续内存空间&#xff0c;deque则是一种双向开口的连续线性空间。所谓的双向开口&#xff0c;意思是可以在头尾两端分别做元素的插入和删除操作&#xff0c…...

jq特效网站模板/成人再就业培训班

结对编程项目-四则运算 &#xff08;第一周&#xff09; 需求分析 实现一个命令行程序&#xff0c;要求&#xff1a; 自动生成小学四则运算题目(加、减、乘、除)支持整数支持多运算符&#xff08;比如生成包含100个运算符的题目&#xff09;支持真分数统计正确率 请输入要生成的…...

网站运营需要哪些技术/海淀区seo引擎优化多少钱

Lecture 8 Additional Storage Linux上所有的存储设备都需要有一个设备文件对应&#xff0c;这些设备文件位于/dev/目录下。 USB&#xff0c;SCSI&#xff0c;SATA&#xff0c;iscsi设备以sd开头&#xff0c;IDE以hd开头。表示方式&#xff1a;/dev/sd[a-z]N。 这些设备文件由u…...

佛山网站建设网站制作公司/口碑营销成功案例

1. 链接 标签&#xff1a;<a></a> 属性&#xff1a;href&#xff1a;链接地址target&#xff1a;打开方式_blank&#xff1a;新标签页打开_self&#xff1a;当前页面打开&#xff08;默认&#xff09;title&#xff1a;链接提示2. 文本标记 标题元素 <h1><…...