【SpringBoot怎么排除某些自动配置?】

Spring Boot 提供的自动配置非常强大,某些情况下,自动配置的功能可能不符合我们的需求,需要我们自定义配置,这个时候就需要排除/禁用Spring Boot某些类的自动化配置了。
比如:数据源,邮件,这些都是提供了自动配置的,我们需要排除Spring Boot的自动化配置,交给我们自己来自定义,该如何做呢?

方法1

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

@springBootApplication(exclude = {DataSourceAutoConfiguration.class,MaillSenderAutoConfiguration.class})
public class Application {

}

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

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

这个注解集成了@EnableAutoConfiguration注解及其里面的参数,这个不用多解释了。

方法2

单独使用@EnableAutoconfiguration注解的时候。

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

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

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

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

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

Spring Cloud 必须建立在Spring Boot应用之上,所以这个不用多解释了。

方法4

终极方案,不管是Spring Boot 还是SpringCloud都可以搞定,在配置文件中指定参数spring.autoconfigure.exclude进行排除。
在这里插入图片描述
yml格式如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

业余码手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值