是否可以在context.xml中使用占位符

我正在使用Spring和struts并在’/META-INF/context.xml’中输入以下内容

   

是否可以通过以下方式实施,

    

我的applicationContext.xml有以下内容,

    

我想从属性文件中获取jdbc.username和jdbc.pwd的值。

使用Spring的PlaceholderPropertyConfigurer(它只替换Spring上下文中的值)是不可能的。

但是,可以使用替换任务在构建过程中使用Ant 。 就像是:

  

请注意,上面将属性名称作为要替换的标记 – 例如,您需要在context.xml中使用“jdbc.url”而不是“$ {jdbc.url}”。 如果绝对需要后者,则可以通过显式命名标记来替换为嵌套的元素来实现。

对于Tomcat,您可以在服务器的server.xml文件中设置连接池,这样用户名/密码就在war文件之外。 以下是有关Context元素在Tomcat 5.5中的行为方式的一些信息http://tomcat.apache.org/tomcat-5.5-doc/config/context.html

或者,您可以从Spring配置文件中使用Apache的独立DBCP包,并使用jdbc.properties替换您的用户名/密码。 例如:

    com.microsoft.sqlserver.jdbc.SQLServerDriver   ${jdbc.url}   ${jdbc.username}   ${jdbc.password}   30   100   10000