Spring bean属性的默认值和通过属性文件覆盖

spring的bean属性,如果需要在必要的时候覆盖,比如默认安装derby driver class,当用户选择了其他数据库(生成用户配置属性文件),比如mysql,则bean属性被用户的配置属性文件中的mysql driver class覆盖。这时需要使用到:

org.springframework.beans.factory.config.PropertyOverrideConfigurer

配置文件:

<bean id="propertyConfigurer"
    class="org.springframework.beans.factory.config.PropertyOverrideConfigurer">
    <property name="location" value="classpath:config.properties" />
    <property name="ignoreResourceNotFound" value="true" />
</bean>

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <property name="driverClass" value="org.apache.derby.jdbc.EmbeddedDriver" />
</bean>

属性文件:

dataSource.driverClass=com.mysql.jdbc.Driver

这样,当不存在属性文件时,加载derby,当用户设置并生成属性文件后,则使用mysql。

PDF格式創作    发送文章为PDF   

这篇文章上的评论的 RSS feed TrackBack URI

Leave a Reply