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