中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring Boot 排除自動配置的 4 種方法,關鍵時刻很有用

發布時間:2020-07-27 15:30:06 來源:網絡 閱讀:608 作者:wx5d30212829a35 欄目:編程語言

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?{
?//?...
}

這個注解集成了 @EnableAutoConfiguration 注解及其里面的參數,這個不用多解釋了,具體看這篇文章:Spring Boot 最核心的 3 個注解詳解。另外,關注Java技術棧微信公眾號,在后臺回復:boot,可以獲取更多 Spring Boot 干貨。

方法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?{
?//?...
}

Spring Cloud 必須建立在 Spring Boot 應用之上,所以這個不用多解釋了。

方法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

知道了這 4 種排除方法,我們使用 Spring Boot 的自動配置功能就游刃有余了,怎么樣?都 get 到了不?


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

德钦县| 积石山| 澄迈县| 张家口市| 信丰县| 樟树市| 红安县| 遵义市| 宜宾市| 阿克苏市| 巴塘县| 河间市| 西宁市| 砀山县| 大渡口区| 利津县| 临猗县| 新昌县| 城固县| 北票市| 中牟县| 台江县| 和龙市| 蓬溪县| 海晏县| 白银市| 中西区| 万全县| 喀喇沁旗| 溧水县| 东丰县| 靖安县| 兴和县| 潞西市| 阳春市| 浦江县| 博客| 双峰县| 瑞安市| 松江区| 昌黎县|