经常可以在spring配置文件中看到如下配置
<
bean
id
="propertyConfigurer"
class
="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
>
< property name ="locations" >
< list >
< value > classpath:db.properties </ value >
</ list >
</ property >
</ bean >
< property name ="locations" >
< list >
< value > classpath:db.properties </ value >
</ list >
</ property >
</ bean >
org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer
应用启动时首先使用用户自定义的变量,然后使用系统变量,然后是这个配置的变量。也就是说在db.properties里配置的属性可在spring配置文件中以${....}形式访问,例如
<
bean
id
="mailSender"
class
="org.springframework.mail.javamail.JavaMailSenderImpl"
>
< property name ="host" value ="${db.host}" />
< property name ="username" value ="${db.username}" />
< property name ="password" value ="${db.password}" />
</ bean >
< property name ="host" value ="${db.host}" />
< property name ="username" value ="${db.username}" />
< property name ="password" value ="${db.password}" />
</ bean >
以上粗体变量都是mail.properties中定义的。