2013-01-31 17 views
2

好像還有的是財產的支持幾次迭代在春天很難說什麼是最好的做法,這些手冊但從人的角度誰是熟悉每一個寫其他迭代。我覺得這應該是一個簡單而通用的要求,但考慮到它有多難,請糾正我,如果有更習慣的方式。如何檢索在Spring 3.1 XML上下文語境參數

我要的是通過一個額外的屬性文件到我的春天web應用程序基於其客戶端使用像這樣

<Context path="/foo" reloadable="true"> 
    <Parameter name="foo.config" value="file:${catalina.base}/conf/foo.properties"/> 
</Context> 

春天tomcat的描述符的實況簡檔我有設置上下文屬性這

<beans profile="live"> 
      <context:property-placeholder location="classpath:timetabling.live.properties,${timetabling.config}" 
    ignore-resource-not-found="true" /> 
</beans> 

所以我認爲這並不工作,因爲我試圖配置佔位符的佔位符suppport。如果我使用系統屬性,然後這工作正常。我知道Spring 3.1已經支持系統和環境屬性,所以我想我的問題是如何在佔位符解決之前使用某些上下文感知來增強此支持?

--Update--

http://blog.springsource.org/2011/02/15/spring-3-1-m1-unified-property-management/特別是在腳註1,我希望有一個DefaultWebEnvironment應該已經有aceess上下文初始化參數。現在我更困惑了,有人能給我提供一個上下文屬性檢索的具體例子嗎?在這一點上,我覺得我已經閱讀了所有可用的javadoc,並且它們沒有幫助。

回答

0

<context:property-placeholder />設置從.properties,系統屬性和環境變量中讀取的PropertyPlaceholderConfigurer。然而,Tomcat context.xml設置了servlet上下文初始參數。所以你需要的是一個ServletContextPropertyPlaceholderConfigurer

+0

是的我已經看過,但文檔聲稱「在Spring 3.1中贊成PropertySourcesPlaceholderConfigurer與StandardServletEnvironment一起使用」。然而,關於如何替換功能的信息很少。如果真的沒有替代品,那麼我想我可以使用它,但我對3.1解決方案感興趣。 –

+0

好的,在這種情況下,您需要一個'PropertySourcesPlaceholderConfigurer'和一個'WebApplicationContext'。 (我沒有嘗試這個,但這是我的理解)。 –

相關問題