多數的鮮為人知方法都是因為有著罕見的應用,就比如說Spring中PropertyPlaceholderConfigurer這個類,它是用來解析Java Properties屬性文件值,并提供在spring配置期間替換使用屬性值。接下來讓我們逐漸的深入其配置。
?
?基本的使用方法是:(1)
?
- < bean? id= "propertyConfigurerForAnalysis"? class= "org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" >??
- ???? < property? name= "location" >??
- ???????? < value >classpath:/spring/include/dbQuery.properties </ value >??
- ???? </ property >??
- </ bean >??
其中classpath是引用src目錄下的文件寫法。
?
?
當存在多個Properties文件時,配置就需使用locations了:(2)
?
- < bean? id= "propertyConfigurer"? class= "org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" >??
- ???? < property? name= "locations" >??
- ??????? < list >??
- ?????????? < value >classpath:/spring/include/jdbc-parms.properties </ value >??
- ?????????? < value >classpath:/spring/include/base-config.properties </ value >??
- ???????? </ list >??
- ???? </ property >??
- </ bean >??
?
接下來我們要使用多個PropertyPlaceholderConfigurer來分散配置,達到整合多工程下的多個分散的Properties文件,其配置如下:(3)
?
- < bean? id= "propertyConfigurerForProject1"? class= "org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" >??
- ???? < property? name= "order"? value= "1"? />??
- ???? < property? name= "ignoreUnresolvablePlaceholders"? value= "true"? />??
- ???? < property? name= "location" >??
- ??????? < value >classpath:/spring/include/dbQuery.properties </ value >??
- ???? </ property >??
- </ bean >??
?
- <bean?id= "propertyConfigurerForProject2"? class= "org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">??
- ????<property?name= "order"?value= "2"?/>??
- ????<property?name= "ignoreUnresolvablePlaceholders"?value= "true"?/>??
- ????<property?name= "locations">??
- ??????<list>??
- ????????<value>classpath:/spring/include/jdbc-parms.properties</value>??
- ????????<value>classpath:/spring/include/base-config.properties</value>??
- ??????</list>??
- ????</property>??
- </bean>??
?
其中order屬性代表其加載順序,而ignoreUnresolvablePlaceholders為是否忽略不可解析的Placeholder,如配置了多個PropertyPlaceholderConfigurer,則需設置為true
?
至此你已經了解到了如何使用PropertyPlaceholderConfigurer,如何使用多個Properties文件,以及如何配置多個PropertyPlaceholderConfigurer來分解工程中分散的Properties文件。至于PropertyPlaceholderConfigurer還有更多的擴展應用,如屬性文件加密解密等方法將在之后的博文中續寫。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
