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属性
原文地址:http://blog.csdn.net/wenniuwuren/article/details/42296273