2015-09-15 100 views

回答

2

問題解決了。

根據這個問題Does Spring MessageSource Support Multiple Class Path?

有溝ResourceBundleMessageSource和(通過繼承AbstractMessageSource最有可能的),使用PathMatchingResourcePatternResolver找到各種資源,並通過MessageSource

揭露他們寫的 MessageSource自定義實現

我製作了ReloadableResourceBundleMessageSource的副本,並按照本指南編寫代碼並解決了問題。

0

是,Spring支持加載多個屬性。但屬性應該是唯一的。如果我們在兩個屬性文件中具有相同的屬性,那麼稍後將加載的文件將覆蓋先前文件中的以前的屬性。例如,如果來自JAR A的Properties文件具有兩個屬性{USERNAME,PASSWORD}並且JAR B Properties文件也具有相同的兩個屬性,那麼您將從稍後加載的文件中獲得{USERNAME,PASSWORD} 。

您可以使用通配符在您的類路徑中導入具有相同名稱的所有屬性文件。

在春天,你可以提陣列的形式不同的屬性文件內容如下:

<context:property-placeholder 
location="classpath:war.properties, 
      classpath*:message.properties" 
ignore-unresolvable="true"/> 

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="locations"> 
     <list> 
      <value>classpath:war.properties</value> 
      <value>classpath*:message.properties</value> 
     </list> 
    </property> 
    <property name="ignoreUnresolvablePlaceholders" value="true"/> 
</bean> 
+0

謝謝你,WAR C是一個spring啓動項目,MessageSource是由MessageSourceAutoConfiguration自動配置的。 我怎樣才能使這個工作? – chanjarster

相關問題