目录
使用@SpringBootApplicationexclude时候
[在配置文件中指定参数spring.autoconfigure.exclude 进行排除](#在配置文件中指定参数spring.autoconfigure.exclude 进行排除)
前言
Spring Boot 提供的自动配置非常强大,某些情况下,自动配置的功能可能不符合我们的需求,需要我们自定义配置,这个时候就需要排除/禁用Spring Boot 某些类的自动化配置了。比如:数据源、邮件,这些都是提供了自动配置的,我们需要排排除 Spring Boot 的自动化配置交给我们自己来自定义,该如何做呢?
使用@SpringBootApplicationexclude时候
使用注解的时候,使用@SpringBootApplicationexclude 属性进行排除指定的类
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
//@EnableApolloConfig
public class HighApplication {}
当自动配置类不在类路径下的时候,使用excludeName 属性进行排除指定的类名全路径
@SpringBootApplication(excludeName = "org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration.class")
//@EnableApolloConfig
public class HighApplication {}
使用@EnableAutoConfiguration注解时
单独使用注解的@EnableAutoConfigurashiw时候:
@EnableAutoConfiguration(exclude = DataSourceAutoConfiguration.class)
//@EnableApolloConfig
public class HighApplication {}
当自动配置类不在类路径下的时候,使用excludeName 属性进行排除指定的类名全路径:
@EnableAutoConfiguration(excludeName = "org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration.class")
//@EnableApolloConfig
public class HighApplication {}
在配置文件中指定参数spring.autoconfigure.exclude 进行排除
spring.autoconfigure.exclude=cn.hutool.extra.spring.SpringUtil,com.ctrip.framework.apollo.spring.boot.ApolloAutoConfiguration
#====================================================================================
或者
#====================================================================================
spring.autoconfigure.exclude[0]=com.ctrip.framework.apollo.spring.boot.ApolloAutoConfiguration
spring.autoconfigure.exclude[1]=cn.hutool.extra.spring.SpringUtil
yml的写法:
spring:
autoconfigure:
exclude:
- cn.hutool.extra.spring.SpringUtil
- com.ctrip.framework.apollo.spring.boot.ApolloAutoConfiguration