我正在开发一个访问LDAP和两个数据库的Spring 3.0.5 Web应用程序。我在applicationContext-security.xml
和dispatcher-servlet.xml
中有一个包含LDAP服务器和数据库配置信息的属性,但我想这样做,这样每个服务器都可以拥有不同的数据属性而无需更改WAR中的文件。我可以以某种方式将文件放在服务器上的其他位置,并仍然可以从我的应用程序中访问它吗?
答案 0 :(得分:6)
将此添加到您的上下文
<context:property-placeholder location="${envfile}"/>
这将加载位于$ {envfile}的属性文件,这是一个可以用Java的启动参数设置的变量,如下所示
-Denvfile="file:/var/server/environment.properties"
或者也许在Tomcat的启动脚本中
CATALINA_OPTS=" -Denvfile=file:/var/server/environment.properties"
可以使用Springs Value注释在控制器中检索值,如下所示:
@Values("${myvalue}")
private String myValue;
请注意,这些功能需要Spring 3.1,更多信息here
祝你好运!答案 1 :(得分:0)
尝试
<util:properties id="props" location="file:///path/to/server.properties"/>