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

Spring Boot 排除配置类的引用的方法

        Spring Boot 提供的自动配置非常强大,某些情况下,自动配置的功能可能不符合我们的需求,需要我们自定义配置,这个时候就需要排除/禁用 Spring Boot 某些类的自动化配置了。

比如:数据源、邮件,这些都是提供了自动配置的,我们需要排除 Spring Boot 的自动化配置,交给我们自己来自定义,该如何做呢?

 spring boot自动配置类

方法1

使用 @SpringBootApplication 注解的时候,使用 exclude 属性进行排除指定的类:

@SpringBootApplication(exclude={DataSourceAutoConfiguration.class, MailSenderAutoConfiguration.class})

public class Application {

    // ...

}

自动配置类不在类路径下的时候,使用 excludeName 属性进行排除指定的类名全路径:

@SpringBootApplication(excludeName = {"org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration", "org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration"})

public class Application {

    // ...

}

方法2

单独使用 @EnableAutoConfiguration 注解的时候:

@EnableAutoConfiguration

(exclude = {DataSourceAutoConfiguration.class, MailSenderAutoConfiguration.class})

public class Application {

    // ...

}

自动配置类不在类路径下的时候,使用 excludeName 属性进行排除指定的类名全路径:

@EnableAutoConfiguration {"org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration", "org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration"})

public class Application {

    // ...

}

方法3

使用 Spring Cloud 和 @SpringCloudApplication 注解的时候:

@EnableAutoConfiguration

(exclude = {DataSourceAutoConfiguration.class, MailSenderAutoConfiguration.class})

@SpringCloudApplication

public class Application {

    // ...

}

方法4

在配置文件中指定参数 spring.autoconfigure.exclude 进行排除:

spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,\                      org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration

或者还可以这样写:

spring.autoconfigure.exclude[0]=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration

spring.autoconfigure.exclude[1]=org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration

如果你用的是 yaml 配置文件,可以这么写: 

spring:    

  autoconfigure:

    exclude:

      - org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration

      - org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration

自己写的配置类

方法5

*springBoot排除某个自写的配置类引用  排除以下配置类引用
@ComponentScan(basePackages = "com.aiagain",excludeFilters = {

@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE,classes = {XxlJobConfig.class})})

http://www.lryc.cn/news/144914.html

相关文章:

  • 代码随想录打卡—day46—【DP】— 8.29 背包END
  • lua学习-3 循环和流程控制
  • 3、监测数据采集物联网应用开发步骤(3)
  • MySQL用户管理及用户权限
  • Yolov8-pose关键点检测:模型轻量化创新 | PConv结合c2f | CVPR2023 FasterNet
  • 聊聊mybatis-plus的SafetyEncryptProcessor
  • 【PCL (Point Cloud Library)可视化点云的工具汇总】
  • 实现 Trie (前缀树)
  • ElasticSearch基础知识汇总
  • 服务器数据库中了locked勒索病毒怎么办,locked勒索病毒恢复工具
  • 没有 JavaScript 计时器的自动播放轮播 - CSS 动画
  • 《Flink学习笔记》——第三章 Flink的部署模式
  • 网络安全(黑客技术)0基础学习手册
  • 腾讯云服务器价格表大全_轻量服务器_CVM云服务器报价明细
  • vue中bus的使用和涉及到的问题
  • Flink的简要概述
  • 多线程下的signal信号处理
  • 〖Python网络爬虫实战㉞〗- 图形验证码OCR识别
  • Python Scrapy网络爬虫框架从入门到实战
  • 后端面试话术集锦第四篇:ElasticSearch面试话术
  • C++之ifstream成员函数get、tellg、eof实例(一百八十五)
  • 安卓webview,网页端生成安卓项目(极速生成)教程
  • 如何在vscode导入下载的插件安装包
  • springboot 多线程实战
  • 求生之路2社区服务器sourcemod安装配置搭建教程centos
  • 通达OAV12版本,表单及流程,定制开发总结
  • 浅析Linux 物理内存外碎片化
  • C#中的get和set
  • mysql8.0以上忘记密码的重置方法 - window系统
  • 手写Vue3响应式数据原理