我想知道是否可以从文件和数据库加载属性,并在数据库中加载属性时使用文件中的属性。所以我想要实现的是在数据库中保存app属性,并将数据库信息保存在属性文件中。下面是我的配置,但它没有工作,在读取数据库属性之前无法加载jdbc.properties中的值。谁可以帮我这个事?谢谢!
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath*:jdbc.properties</value> <!--loading properties from file first-->
</list>
</property>
<property name="properties" ref="dataBaseProperties"/> <!--loading properties from database using the properties from file-->
</bean>
<bean id="dataBaseProperties" class="common.spring.DatabaseProperties" >
<constructor-arg type="javax.sql.DataSource" ref="confDataSource"/>
<constructor-arg value="select key_s,value_s from app_conf where status>0"/>
</bean>
<bean id="confDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driver}"/> <!--from properties file - jdbc.properties-->
<property name="url" value="${jdbc.url}"/> <!--from properties file - jdbc.properties-->
<property name="username" value="${jdbc.username}"/> <!--from properties file - jdbc.properties-->
<property name="password" value="${jdbc.password}"/> <!--from properties file - jdbc.properties-->
</bean>
答案 0 :(得分:0)
> <beans:bean id="appProperties"
> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
> <beans:property name="location"
> value="classpath:META-INF/application.properties" /> </beans:bean>
您应该提及从中获取* .properties文件的位置