首页 > 代码库 > spring的context:property-placeholder属性

spring的context:property-placeholder属性

1. 问题: 把一些经常改动的配置属性写死是件很Low的事, 那么问题来了, 有什么简单方便的方式呢, 用纯Java去读取配置文件已经显得繁杂。


2. 答案: Spring3提供了很简单的方式context:property-placeholder

只需要在spring的配置文件里添加一句:

<context:property-placeholder location="file:/D:/*/*.properties" />
<context:property-placeholder location="file:/etc/*/*.properties" />
一下子, 世界就美好了, 上一句是Windows中的配置, 下一句是Linux的配置。


配置文件示例:*.properties

mail.host=smtp.163.com
mail.username=email@163.com
mail.password=123456
#非SSL端口号
mail.port=25
#SSL端口号
#mail.port=465
mail.encoding=UTF-8
mail.smtp.auth=true
mail.smtp.timeout=25000
mail.sendTo=email@163.com;

就是普通的Key-Value映射


3. 应用:为Bean设置属性值

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">		
		<property name="javaMailProperties">
			<props>
				<prop key="mail.smtp.auth">${mail.smtp.auth}</prop>
				<prop key="mail.smtp.socketFactory.fallback">false</prop>
				<prop key="mail.smtp.timeout">${mail.smtp.timeout}</prop>
				<prop key="mail.sendTo">${mail.sendTo}</prop>
			</props>
		</property>
</bean>
如此简单明了 ${} 便可轻松使用配置参数



spring的context:property-placeholder属性