外在化应用参数的配置
在开发企业应用期间,或者在将企业应用部署到生产环境时,应用依赖的很多参数信息往往需要调整,比如LDAP连接、RDBMS JDBC连接信息。对这类信息进行外在化管理显得格外重要。PropertyPlaceholderConfi
PropertyPlaceholderConfi
db.username=scott
db.password=tiger
如下内容摘自propertyplaceholderconfi
<bean id="propertyPlaceholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>userinfo.properties</value> </list> </property> </bean>
<property name="username" value="${db.username}"/> <property name="password" value="${db.password}"/><bean name="userInfo" class="test.UserInfo">
</bean>
通过运行并分析PropertyPlaceholderConfi
gurerDemo示例应用,开发者能够深入理解PropertyPlaceholderConfi gurer。为简化PropertyPlaceholderConfi gurer的使用,Spring提供了<context:property-placeholder/>元素。下面给出了配置示例,启用它后,开发者便不用配置PropertyPlaceholderConfi gurer对象了。
<context:property-placeholder location="userinfo.properties"/>
PropertyPlaceholderConfi
gurer内置的功能非常丰富,如果它未找到${xxx}中定义的xxx键,它还会去JVM系统属性(System.getProperty())和环境变量(System.getenv())中寻找。通过启用systemPropertiesMode和searchSystemEnvironment属性,开发者能够控制这一行为。