2012-03-01 64 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"/> 
相关问题