Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
spring多属性文件_Spring - Fatal编程技术网

spring多属性文件

spring多属性文件,spring,Spring,我有一个春季项目。有两个属性文件。一个属性文件是dbConfig.xml中的config,我无法更改它。我有自己的appConfig.xml 我有以下几点 <util:properties id="configProps" location="classpath:spring/config.properties" /> <bean id="createDummyDataTask" class="com.merc.spring.CreateDummyData" scope="s

我有一个春季项目。有两个属性文件。一个属性文件是dbConfig.xml中的config,我无法更改它。我有自己的appConfig.xml

我有以下几点

<util:properties id="configProps" location="classpath:spring/config.properties" />

<bean id="createDummyDataTask" class="com.merc.spring.CreateDummyData" scope="step">
    <property name="srcFolder" value="${configProps.srcDir}"/>
</bean>


使用srcDir或configProps.srcDir似乎不起作用

${}
仅适用于由上下文:propertyplaceholder加载的属性文件。如果您使用的是Spring3.0,那么可以使用作为Spel(spring表达式语言)处理的
{}
。以下几点应该行得通

<util:properties id="configProps" location="classpath:spring/config.properties" />

<bean id="createDummyDataTask" class="com.merc.spring.CreateDummyData" scope="step">
    <property name="srcFolder" value="#{configProps.srcDir}"/>
</bean>

这里是我们如何解决的

Context.xml

    <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

        <import resource="Settings.xml"/>
        <import resource="Database.xml"/>   

    </beans>
<?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

        <!-- the transaction manager -->
        <bean id="dstxnManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
            <property name="dataSource" ref="appDataSource"/>
        </bean>

        <!-- the DataSource (parameterized for configuration via a PropertyPlaceHolderConfigurer) -->
        <bean id="appDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" lazy-init="false">
            <property name="driverClass"              value="${driverClass}" />
            <property name="jdbcUrl"                  value="${jdbcUrl}" />
            <property name="user"                     value="${username}" />
            <property name="password"                 value="${password}" />
        </bean> 

        <!-- DB connection factory -->
        <bean id="storageDaoFactory" class="com.dao.StorageDAOFactory">
             <constructor-arg><ref bean="dstxnManager"/></constructor-arg>
        </bean>

    </beans>
<?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

        <!-- the transaction manager -->
        <bean id="dstxnManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
            <property name="dataSource" ref="appDataSource"/>
        </bean>

        <!-- the DataSource (parameterized for configuration via a PropertyPlaceHolderConfigurer) -->
        <bean id="appDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" lazy-init="false">
            <property name="driverClass"              value="${driverClass}" />
            <property name="jdbcUrl"                  value="${jdbcUrl}" />
            <property name="user"                     value="${username}" />
            <property name="password"                 value="${password}" />
        </bean> 

        <!-- DB connection factory -->
        <bean id="storageDaoFactory" class="com.dao.StorageDAOFactory">
             <constructor-arg><ref bean="dstxnManager"/></constructor-arg>
        </bean>

    </beans>