2016-10-03 37 views
0

以下是我的Tomcat的context.xml如何获得Tomcat的context.xml的参数值到春天PropertyPlaceholderConfigurer

<Parameter name="datasource.url" override="false" value="jdbc:mysql://localhost:3306/"/> 
    <Parameter name="datasource.username" override="false" value="root"/> 
    <Parameter name="datasource.password" override="false" value="password"/> 

我想读的使用PropertyPlaceHolderConfigurer这些属性值到Spring的XML在下面的代码为数据源,以取代值.username,datasource.password,datasource.url

<beans:bean id="dataSource" destroy-method="close" 
      class="com.mchange.v2.c3p0.ComboPooledDataSource"> 
      <beans:property name="driverClass" value="com.mysql.jdbc.Driver" /> 
      <beans:property name="jdbcUrl" 
       value="${datasource.url:jdbc:mysql://localhost:3306/exampledb}" /> 
      <beans:property name="user" value="${datasource.username:root}" /> 
      <beans:property name="password" value="${datasource.password:root}" /> 
    </beans:bean> 

我propertyHolder配置

<beans:bean 
      class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
      <beans:property name="nullValue" value="@null" /> 
      <beans:property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/> 
      <beans:property name="locations"> 
       <beans:list> 
        <beans:value>classpath:mysql-queries.properties</beans:value> 
        <beans:value>classpath:essayscoring-settings.properties 
        </beans:value> 
       </beans:list> 
      </beans:property> 
    </beans:bean> 

请教我如何从tomcat context.xml中将这些值读入propertyPlaceHolder

+0

试试这个http://stackoverflow.com/questions/21613974/picking- up-tomcats-context-xml-parameters-via-spel,这可能会起作用。 – 11thdimension

+0

ServletContextParameterFactoryBean已被弃用 –

+0

为什么你在context.xml中声明参数? – Stefan

回答

-1

春天的方法是正确的。 创建一个单独的属性文件,并在春季进口:

<context:property-placeholder location="classpath*:some.properties"/> 

然后 进口Spring上下文到您的Tomcat相关:

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>classpath:applicationContext.xml</param-value> 
</context-param> 

<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 
相关问题