摘要:結(jié)論屬性沒有使用錯,而是根據(jù)反射調(diào)用方法,將賦值給了了而已。免費(fèi)領(lǐng)取驗(yàn)證碼內(nèi)容安全短信發(fā)送直播點(diǎn)播體驗(yàn)包及云服務(wù)器等套餐更多網(wǎng)易技術(shù)產(chǎn)品運(yùn)營經(jīng)驗(yàn)分享請?jiān)L問網(wǎng)易云社區(qū)。文章來源網(wǎng)易云社區(qū)
本文由作者張遠(yuǎn)道授權(quán)網(wǎng)易云社區(qū)發(fā)布。
spring中常用PropertyPlaceHolderConfigurer來讀取properties配置文件的配置信息。常用的配置方式有兩種,一種是使用location
另一種是使用locations
查看PropertyPlaceHolderConfigurer的源碼發(fā)現(xiàn),整個PropertyPlaceHolderConfigurer的繼承樹中都沒有l(wèi)ocation整個屬性,僅僅只有l(wèi)ocations這個屬性。如下圖所示。
因此,認(rèn)為既然沒有l(wèi)ocation這個屬性,那使用時是不是不正確。但是仔細(xì)看看發(fā)現(xiàn)了PropertiesLoaderSupport中有setLocation()方法。
而查看spring有關(guān)依賴注入的源碼:
即獲得property對應(yīng)的setter方法,以及property對應(yīng)的值,然后通過反射,調(diào)用該方法即可。可以看出,不要求類的定義中真正包含改屬性,只要對應(yīng)的setter方法被調(diào)用即可以。因此,ioc容器從xml配置中讀到屬性為location的值,然后獲得location對應(yīng)的setter方法,即setLocation,然后通過反射,將location的值傳入了setLocation中。如下圖。
結(jié)論:location屬性沒有使用錯,而是spring根據(jù)反射調(diào)用setLocation方法,將location賦值給了locations了而已。
免費(fèi)領(lǐng)取驗(yàn)證碼、內(nèi)容安全、短信發(fā)送、直播點(diǎn)播體驗(yàn)包及云服務(wù)器等套餐
更多網(wǎng)易技術(shù)、產(chǎn)品、運(yùn)營經(jīng)驗(yàn)分享請?jiān)L問網(wǎng)易云社區(qū)。
文章來源: 網(wǎng)易云社區(qū)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/25354.html
摘要:關(guān)于使用這種方式我還有必要再說明一點(diǎn)若自己設(shè)置了加載屬性文件,這句代碼對此種場景就沒有必要了,配置的占位符也是能夠讀取到的。 每篇一句 大師都是偏執(zhí)的,偏執(zhí)才能產(chǎn)生力量,妥協(xié)是沒有力量的。你對全世界妥協(xié)了你就是空氣。所以若沒有偏見,哪來的大師呢 相關(guān)閱讀 【小家Spring】詳解PropertyPlaceholderConfigurer、PropertyOverrideConfigur...
摘要:配置之痛與解決之道當(dāng)有很多項(xiàng)目需要你來不停的向集成測試和生產(chǎn)環(huán)境發(fā)時配置文件的差異性會造成很大的困撓一方面你不希望把敏感信息到處保存另一方面會大量的地址信息需要配置每個引入的第三方都需要配置往往不同環(huán)境的還都不一樣一旦搞錯了輕則項(xiàng)目起不來 配置之痛與解決之道 當(dāng)有很多項(xiàng)目需要你來不停的向集成,測試和生產(chǎn)環(huán)境發(fā)時, 配置文件的差異性會造成很大的困撓.一方面你不希望把敏感信息到處保存. 另...
摘要:在這一步里,將配置文件的信息裝入到容器的定義注冊表中,但此時還未初始化。注冊后處理器根據(jù)反射機(jī)制從中找出所有類型的,并將它們注冊到容器后處理器的注冊表中。是屬性編輯器的注冊表,主要作用就是注冊和保存屬性編輯器。 點(diǎn)擊進(jìn)入我的博客 1 Spring容器整體流程 1.1 ApplicationContext內(nèi)部原理 AbstractApplicationContext是Applicati...
摘要:這嚴(yán)重地影響了開發(fā)的效率。參數(shù)校驗(yàn)所以我們的公共方法既要寫注釋,讓人能看懂,也要對每一個傳入的參數(shù)表示懷疑。公共方法隨手一條提示信息,節(jié)約程序員的萬千時間。 公共方法 當(dāng)我們寫一些公共組件或方法時,我們可能需要接收外部的參數(shù),但是,我們并不總能保證我們的注釋是完全能讓他人理解的。 /** * 獲取所有考評員信息 * @param {district} 區(qū)域 * @par...
閱讀 1768·2021-11-24 09:39
閱讀 1693·2021-11-22 15:22
閱讀 1015·2021-09-27 13:36
閱讀 3274·2021-09-24 10:34
閱讀 3344·2021-07-26 23:38
閱讀 2639·2019-08-29 16:44
閱讀 984·2019-08-29 16:39
閱讀 1114·2019-08-29 16:20