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>
如此简单明了 ${} 便可轻松使用配置参数