栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot--排除自动配置类--方法/实例

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot--排除自动配置类--方法/实例

原文网址:https://knife.blog.csdn.net/article/details/124746064

简介

说明

        Spring Boot 提供了强大的自动配置功能。有了这些自动配置,我们可以:

  1. 只需在pom.xml中引入某个依赖即可使用该功能。
  2. 在application.yml中可以配置某个依赖的属性

需要排除自动配置的场景

        有时候自动配置的功能与自己的需求不符,这时就要排除Spring Boot 某些类的自动配置,然后定义自己的配置。

需求

        需求:自定义:数据源、邮件。

        数据源、邮件都有自动配置,我们需要排除 Spring Boot 的自动化配置,并进行自定义。本文只介绍如何排除SpringBoot的自动配置。

方案1:@SpringBootApplication

使用@SpringBootApplication 时,有两种方法。

法1:通过 exclude 属性排除指定的类

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

法2:使用 excludeName 属性排除指定的类名全路径

适合场景:自动配置类不在类路径下。

@SpringBootApplication(excludeName = {"org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration",
	"org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration"})
public class Application {
    // ...
}
方案2:@EnableAutoConfiguration

法1:通过 exclude 属性排除指定的类

@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class, MailSenderAutoConfiguration.class})
public class Application {
    // ...
}

法2:使用 excludeName 属性排除指定的类名全路径

适合场景:自动配置类不在类路径下。

@EnableAutoConfiguration(excludeName = {"org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration",
	"org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration"})
public class Application {
    // ...
}
方案3:@SpringCloudApplication

Spring Cloud 是以建立在 Spring Boot 应用之上的。

法1:通过 exclude 属性排除指定的类

@...
@EnableAutoConfiguration
(exclude = {DataSourceAutoConfiguration.class, MailSenderAutoConfiguration.class})
@SpringCloudApplication
public class Application {
    // ...
}

法2:使用 excludeName 属性排除指定的类名全路径

@EnableAutoConfiguration(excludeName = {"org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration",
	"org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration"})
@SpringCloudApplication
public class Application {
    // ...
}
方案4:配置文件

application.yml写法

spring:     
  autoconfigure:
    exclude:
      - org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
      - org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration

application.properties写法

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
其他网址

Spring Boot 排除自动配置的种方法,非常值得一看!!!_阿里官方架构师的博客-CSDN博客

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/879628.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号