property文件可以很方便的在部署运行阶段改变一些特定配置属性,比如数据库连接等。然后在程序中根据键名使用property文件中的特定属性。在Spring中也可以在XML配置文件中的Bean定义时通过property文件动态进行属性值的定义。
使用方法描述
假如入在property文件中有以下属性
db.url=jdbc:oracle:thin:@127.0.0.1:1521:test
那么在XML中就可以使用 ${db.url} 进行引用。
具体实现
第一步:在XML配置文件中注册我们将要在XML中使用的properties文件
<!-- 我们不会将这个Bean进行实例化,class属性中定义了PropertyPlaceholderConfigurer类,可以告诉Spring我们实际上要注册一个properties文件-->
<bean id="propertyFileConfigForDB"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>dbconfig.properties</value>
<!-- 以上为properties文件路径-->
</property>
</bean>
第二步:在XML中使用properties文件中定义的值
<bean name="dataSource"
class="test.DataSource">
<!--这里通过 ${} 的方式引用properties文件中定义的db.url的值 -->
<property name="url" value='${db.url}' />
</bean>
第三步:创建properties文件,并在其中写入我们要调用的键值对
db.url = jdbc:oracle:thin:@127.0.0.1:1521:orcl
另外有人知道如何通过properties文件对Bean中Map类型属性进行初始化吗?上网没找到示例,我临时使用init在初始化bean的时候手动初始化了Map。