使用標籤導入多個properties文件

       Spring中的xml中使用<context:property-placeholderlocation>標籤導入配置文件時,想要導入多個properties配置文件,以下:java

<context:property-placeholderlocation="classpath:a.properties " />
<context:property-placeholderlocation="classpath:b.properties " />

結果發現不行,第二個配置文件始終讀取不到,後來發現<context:property-placeholder>標籤在Spring配置文件中只能存在一份!!!Spring容器是採用反射掃描的發現機制,經過標籤的命名空間實例化實例,當Spring探測到容器中有個org.springframework.beans.factory.config.PropertyPlaceholderCVonfigurer的Bean就會中止對剩餘PropertyPlaceholderConfigurer的掃描,即只能存在一個實例。spring

<context:property-placeholder     
       location=""    
       file-encoding=""    
       ignore-resource-not-found=""   
       ignore-unresolvable=""    
       properties-ref=""    
       local-override=""    
       system-properties-mode=""   
       order=""    
/>

那若是有多個配置文件怎麼辦呢?那就多個文件之間以「,」分隔,以下:ide

<context:property-placeholderlocation="classpath:a.properties,classpath:b.properties" />

值得注意的是:多個配置文件將依次加載,若是後一個文件中有和前面某一個文件中屬性名是相同的,最終取的值是後加載的值。spa

javaconfig的加載在xml文件以前,故在javaconfig配置的會被xml中配置的實例覆蓋code

相關文章
相關標籤/搜索