SpringBoot2.2版本配置綁定是不是有點(diǎn)坑了?

SpringBoot版本升級(jí)兼容性一直做的不是多么的美麗牍帚,各個(gè)大分支之間由于底層使用的Srping版本不同,才導(dǎo)致的這種問題出現(xiàn)乳蛾,而升級(jí)到2.2.1.RELEASE版本之后又遇到一個(gè)配置綁定的坑履羞。

免費(fèi)教程專題

恒宇少年在博客整理三套免費(fèi)學(xué)習(xí)教程專題峦萎,由于文章偏多特意添加了閱讀指南,新文章以及之前的文章都會(huì)在專題內(nèi)陸續(xù)填充忆首,希望可以幫助大家解惑更多知識(shí)點(diǎn)爱榔。

問題描述

SpringBoot在升級(jí)到2.2.1.RELEASE版本后遇到了屬性配置綁定的問題,我去找到SpringBoot版本發(fā)布的頁面(Spring-Boot-2.2-Release-Notes)才了解到從2.2.1.RELEASE版本開始@SpringBootApplication注解已經(jīng)不再添加@ConfigurationPropertiesScan支持糙及,需要手動(dòng)進(jìn)行配置详幽,這一點(diǎn)我們從源碼上可以更清楚的看到。

2.2.0.RELEASE

SpringBoot 2.2.0.RELEASE版本中@SpringBootApplication注解部分源碼如下所示:

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
        @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
@ConfigurationPropertiesScan
public @interface SpringBootApplication {
  //...
}

通過源碼我們可以看到2.2.0.RELEASE版本的@SpringBootApplication注解默認(rèn)添加了ConfigurationPropertiesScan注解浸锨,也就是默認(rèn)開啟了掃描@ConfigurationProperties注解的配置類唇聘,然后根據(jù)prefix進(jìn)行屬性綁定。

2.2.1.RELEASE

SpringBoot 2.2.1.RELEASE版本中@SpringBootApplication注解部分源碼如下所示:

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
        @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {
    //...
}

我們發(fā)現(xiàn)在SpringBoot2.2.1.RELEASE版本的@SpringBootApplication注解中已經(jīng)不再默認(rèn)添加@ConfigurationPropertiesScan注解的支持了柱搜,也就是我們無法通過默認(rèn)的配置實(shí)現(xiàn)掃描@ConfigurationProperties注解的類迟郎,也無法將application.yml/application.properties文件的配置內(nèi)容與實(shí)體類內(nèi)的屬性進(jìn)行綁定。

解決問題

SpringBoot官方給出的解決方法是手動(dòng)在@SpringBootApplication注解的類上手動(dòng)添加@ConfigurationPropertiesScan即可聪蘸,如下所示:

/**
 * 2.2.1.RELEASE版本屬性綁定問題解決
 *
 * @author 恒宇少年
 */
@SpringBootApplication
@ConfigurationPropertiesScan
public class SpringbootConfigurationBindingBitPittedApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootConfigurationBindingBitPittedApplication.class, args);
    }

}

敲黑板宪肖,劃重點(diǎn)

SpringBoot的每次中大版本升級(jí)往往會(huì)刪除或者新增一些功能,建議大家關(guān)注SpringBoot的動(dòng)態(tài)健爬,以免出現(xiàn)類似今天這篇文章的問題控乾,根據(jù)官方的文檔及時(shí)做出調(diào)整。

代碼示例

微信掃碼下圖二維碼關(guān)注“程序員恒宇少年”后娜遵,回復(fù)“源碼”即可獲取源碼倉庫地址蜕衡。

本章節(jié)源碼在spring-boot-chapter倉庫內(nèi)目錄為springboot2-2-configuration-binding-bit-pitted

作者個(gè)人 博客
使用開源框架 ApiBoot 助你成為Api接口服務(wù)架構(gòu)師

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市设拟,隨后出現(xiàn)的幾起案子慨仿,更是在濱河造成了極大的恐慌,老刑警劉巖纳胧,帶你破解...
    沈念sama閱讀 222,807評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件镶骗,死亡現(xiàn)場離奇詭異,居然都是意外死亡躲雅,警方通過查閱死者的電腦和手機(jī)鼎姊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來相赁,“玉大人相寇,你說我怎么就攤上這事∨タ疲” “怎么了唤衫?”我有些...
    開封第一講書人閱讀 169,589評論 0 363
  • 文/不壞的土叔 我叫張陵,是天一觀的道長绵脯。 經(jīng)常有香客問我佳励,道長休里,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,188評論 1 300
  • 正文 為了忘掉前任赃承,我火速辦了婚禮妙黍,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘瞧剖。我一直安慰自己拭嫁,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,185評論 6 398
  • 文/花漫 我一把揭開白布抓于。 她就那樣靜靜地躺著做粤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪捉撮。 梳的紋絲不亂的頭發(fā)上怕品,一...
    開封第一講書人閱讀 52,785評論 1 314
  • 那天,我揣著相機(jī)與錄音巾遭,去河邊找鬼肉康。 笑死,一個(gè)胖子當(dāng)著我的面吹牛恢总,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播睬愤,決...
    沈念sama閱讀 41,220評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼片仿,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了尤辱?” 一聲冷哼從身側(cè)響起砂豌,我...
    開封第一講書人閱讀 40,167評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎光督,沒想到半個(gè)月后阳距,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,698評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡结借,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,767評論 3 343
  • 正文 我和宋清朗相戀三年筐摘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片船老。...
    茶點(diǎn)故事閱讀 40,912評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡咖熟,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出柳畔,到底是詐尸還是另有隱情馍管,我是刑警寧澤,帶...
    沈念sama閱讀 36,572評論 5 351
  • 正文 年R本政府宣布薪韩,位于F島的核電站确沸,受9級(jí)特大地震影響捌锭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜罗捎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,254評論 3 336
  • 文/蒙蒙 一观谦、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧宛逗,春花似錦坎匿、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至屎暇,卻和暖如春承桥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背根悼。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評論 1 274
  • 我被黑心中介騙來泰國打工凶异, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人挤巡。 一個(gè)月前我還...
    沈念sama閱讀 49,359評論 3 379
  • 正文 我出身青樓剩彬,卻偏偏與公主長得像,于是被迫代替她去往敵國和親矿卑。 傳聞我的和親對象是個(gè)殘疾皇子喉恋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,922評論 2 361

推薦閱讀更多精彩內(nèi)容