php做視頻網(wǎng)站有哪些軟件下載方象科技的企業(yè)愿景
????????Spring Boot 提供的自動配置非常強大,某些情況下,自動配置的功能可能不符合我們的需求,需要我們自定義配置,這個時候就需要排除/禁用 Spring Boot 某些類的自動化配置了。
比如:數(shù)據(jù)源、郵件,這些都是提供了自動配置的,我們需要排除 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
在配置文件中指定參數(shù)?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})})