2012-03-01 67 views
6

我正在研究訪問LDAP和兩個數據庫的Spring 3.0.5 Web應用程序。我有一個包含LDAP服務器和那些數據庫的配置信息的屬性,在applicationContext-security.xmldispatcher-servlet.xml中,但我想這樣做是爲了讓每個服務器可以具有不同的數據屬性,而無需更改WAR中的文件。我可以以某種方式將某個文件放在服務器上的其他位置,並仍然可以在我的應用程序中訪問它嗎?使用Spring以外的屬性文件

回答

6

添加到您的背景下

<context:property-placeholder location="${envfile}"/> 

這將加載屬性文件位於$ {envfile},你可以使用Java的啓動paramater這樣

設置一個變量
-Denvfile="file:/var/server/environment.properties" 

或者也許在Tomcat的啓動腳本中

CATALINA_OPTS=" -Denvfile=file:/var/server/environment.properties" 

值可以在控制器中使用彈簧價值詮釋這樣的檢索:

@Values("${myvalue}") 
private String myValue; 

請注意,這些功能需要春3.1的更多信息,here

祝你好運!

+0

我正在使用Spring版本4.似乎沒有值註釋。使用值註釋不會填充我的值。另外,我在應用程序啓動時收到屬性文件已加載的消息。 2017-04-05 17:27:51信息PropertySourcesPlaceholderConfigurer:172 - 從URL [文件:c://java//resources//googleDocsValues.properties]加載屬性文件。有什麼建議麼 ? – Ankit 2017-04-05 12:11:58

0

嘗試

<util:properties id="props" location="file:///path/to/server.properties"/> 
相關問題