exclude,排除此类的AutoConfig,即禁止 SpringBoot 自动注入数据源配置。

需要使用@SpringBootApplication的3个场景是:

一.场景1

比如在项目中,公共模块里包含的有数据库等的Jar包,当其它子模块引入该公共模块时就会同时引入了数据库的Jar包,这时候SpringBoot检测到有数据源就会尝试加载它,但是本身又没有进行数据库相关的配置,就会报下面的问题:

二.场景2

     有时候数据源的相关配置比如数据库的相关配置是动态加载的,而不是写死在文件中,SpringBoot就会使用Jar包默认的配置,也会报错,这时候使用@SpringBootApplication注解禁止自动注入,转为手动注入

三.场景3

exclude,排除此类的AutoConfig,即禁止 SpringBoot 自动注入数据源配置。

DataSourceAutoConfiguration.class 会自动查找 application.yml 或者 properties 文件里的 spring.datasource.* 相关属性并自动配置单数据源「注意这里提到的单数据源」。

那么问题来了,排除了自动配置,Spring还怎么识别到数据库配置呢?

答:显然接下来就需要手动配置,what?那我为什么要排除?然后手动指定数据源?

如果你发现项目中存在这个排除的骚操作,可以在项目中搜一下Java关键字@ConfigurationProperties("spring.datasource ,你可能会发现手动配置数据源的类。

再来回答为何要手动配置数据源,因为要配置多数据源,上边有提到DataSourceAutoConfiguration.class默认会帮我们自动配置单数据源,所以,如果想在项目中使用多数据源就需要排除它,手动指定多数据源。

场景3的例子转自:https://blog.csdn.net/jinrucsdn/article/details/106539916

@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})的应用场景相关推荐

  1. @SpringBootApplication(exclude={DataSourceAutoConfiguration.class})注解作用

    有小伙伴在群里问到对 @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class}) 有点疑惑,故记之. exclude, ...

  2. @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) 注解的作用

    在学习boot 项目的时候 ,发现在启动类中有一个这个的注解 @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) ...

  3. springboot源码(二)@SpringBootApplication注解中exclude参数使用及原理

    文章目录 一.使用姿势 二.运行原理 上篇文章中, <springboot源码(一)启动流程+自动配置原理分析>,简单分析了启动流程,其中涉及到了@SpringBootApplicatio ...

  4. Spring Boot整合ActiveMQ及场景举例(点对点模式、订阅模式)

    目录 前序 为什么要引入MQ 注册案例--不使用MQ 注册案例--引入MQ(点对点模式) 注册案例--引入MQ(发布/订阅模式) 安装Active MQ 使用Spring Boot进行整合(点对点模式 ...

  5. Java常用注解以及使用场景示例

    Java注解定义 Java注解是Java编程语言中的一种特殊形式的元数据,它们可以用于为程序的各个元素(例如类.方法.字段等)添加额外的信息和属性.注解是在Java 5中引入的,通过在代码中使用注解, ...

  6. springboot扫描组件_SpringBoot入口类和@SpringBootApplication详解

    SpringBoot项目创建完成之后默认会生成一个*Application的入口类,通过该类的main方法即可启动SpringBoot项目. @SpringBootApplication(exclud ...

  7. spring boot 会默认加载DataSourceAutoConfiguration这个类

    spring boot 会默认加载org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration这个类, 而DataSo ...

  8. active mq topic消费后删除_Spring cloud stream 整合mq

    说明:本案例win10环境 测试scs(spring cloud stream)整合kfk(kafka)/rbt(rabbitmq)消息生产消费场景 流程 一.准备中间件环境(kfk/rbt) 后续内 ...

  9. SpringBoot面试题及答案 110道(持续更新)

    最新SpringBoot面试题[附答案解析]SpringBoot面试题及答案,SpringBoot最新面试题及答案,SpringBoot面试题新答案已经全部更新完了,有些答案是自己总结的,也有些答案是 ...

  10. 惊呆了,Spring中竟然有12种定义bean的方法

    前言 在庞大的 Java 技术体系中,Spring 有着举足轻重的地位,它给每位开发者带来了极大的便利和惊喜. 我们都知道 Spring 是创建和管理bean的工厂,它提供了多种方式定义 bean,能 ...

最新文章

  1. 月薪没到30K的程序员必须要背的面试八股文,我先啃为敬。。。
  2. MPB:扬州大学王梦芝组-反刍动物瘤胃原虫18S rRNA测序分析技术
  3. 来不及想标题了,我要去打包收藏了 | 本周值得读
  4. 程序员深夜啪啪啪真相,看完笑翻!
  5. python3.6使用mysql_Python之——Python3.6连接MySQL
  6. 韩国浦项化学在中国斥资超2800亿韩元投建电动车电池材料厂
  7. 转移服务器显示乱码,两台服务器之间数据传输乱码问题
  8. 左神-05 二分搜索(多看几遍)
  9. HTTP权威指南-概述
  10. 系统架构设计笔记(19)—— 网络存储技术
  11. 页面中多次使用TWEEN.update()的坑
  12. android windows 共享文件,安卓手机如何访问电脑局域网共享的文件
  13. Altium Designer 多引脚元件快速画法 Smart Grid Insert
  14. dev C++遇到endl无法调试的解决方法
  15. 2022 极术通讯-安谋科技“星辰”STAR-MC2处理器初探
  16. 二维码编码库qrencode
  17. 最新轻量级精简风小说网站源码+支持WAP端
  18. dumpsys activity 相关命令解析
  19. AMD CPU无法安装Intel HAXM解决方法
  20. 22 Rest高级客户端实践(八):滚动搜索

热门文章

  1. 苹果x与苹果xs的区别_x和XS的区别到底在哪里,我来告诉你
  2. 百度网盘内容提取网站
  3. 网站CDN 判断 绕过方法
  4. 用sci-hub的文献检索方法
  5. Python找不到的包从pip官网下载,以windows-filedialogs为例
  6. uniapp重新渲染页面_uni-app里面使用uni.request请求并且渲染列表
  7. Ogre 天龙八部地形管理器(2) --- 地形和静态对象的加载
  8. 从培训机构出来的程序员,后来都怎么样了?
  9. 33种名车的标志及名称来历
  10. 游戏设计之路——游戏设计文档详解(GDD)