理解Could not resolve placeholder——XML引入配置檔案錯誤
阿新 • • 發佈:2019-02-02
引入配置檔案錯誤,首先確保properties檔案內和xml中引用的對映沒問題,這個應該都不是問題。
那麼看著完全沒有問題,還是丟擲Could not resolve placeholder,是為什麼?
xml中能使用例如${xxx}作為佔位符,是因為你使用了<context:property-placeholder location="/xxx/XXX.properties"/>,而這個配置其實幫你建立了一個org.springframework.beans.factory.config.PropertySourcesPlaceholderConfigurer的bean,當程式載入到
解決方法:
加入ignore-unresolvable="true"配置,例如
<context:property-placeholder location="classpath:dubbo-service-producter.properties" ignore-unresolvable="true"/>
這個配置是告訴spring,當你找不到蘿蔔坑又多出來,想丟擲Could not resolve placeholder時,小老弟你先等等,先檢查一下別的袋子裡有沒有蘿蔔。ignore-unresolvable="true"的作用就是沒找到蘿蔔的時候,先用${}替代,空的,等等找到這個坑的蘿蔔了再填進去。
所以,按照邏輯,ignore-unresolvable="true"這個配置是要新增在先載入的xml中,因為你要告訴的是他,沒有蘿蔔先彆著急。