Spring Boot 排除配置类的引用的方法
2021/11/12 23:15:12
本文主要是介绍Spring Boot 排除配置类的引用的方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Type One: spring boot自动配置类
Spring Boot 提供的自动配置非常强大,某些情况下,自动配置的功能可能不符合我们的需求,需要我们自定义配置,这个时候就需要排除/禁用 Spring Boot 某些类的自动化配置了。
比如:数据源、邮件,这些都是提供了自动配置的,我们需要排除 Spring Boot 的自动化配置,交给我们自己来自定义,该如何做呢?
今天栈长给你介绍 4 种排除方式,总有一种能帮到你!
方法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 Boot 还是 Spring Cloud 都可以搞定,在配置文件中指定参数 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
Type Two: 自己写的配置类
方法5
*springBoot排除某个自写的配置类引用 排除以下配置类引用
@ComponentScan(basePackages = "com.aiagain",excludeFilters = { @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE,classes = {XxlJobConfig.class})})
注:以上笔记从多处copy来
这篇关于Spring Boot 排除配置类的引用的方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-20测试人员都是画画大神,让我看看谁还不会用代码图?
- 2024-05-20年薪百万的程序员都在用的摸鱼方式……
- 2024-05-19永别了,微服务架构!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了