我们在使用spring是,在配置文件中经常需要使用到<context:property-placeholder location="" />标签。这样系统配置就能直接写到文件中,方便 以后更改。使用了该标签之后,spring的配置文件属性值就能直接使用占位符来处理了。如下代码:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${driverClassName}" />
<property name="url"
value="${url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<!-- 初始化连接大小 -->
<property name="initialSize" value="0"></property>
<!-- 连接池最大数量 -->
<property name="maxActive" value="100"></property>
<!-- 连接池最大空闲 -->
<property name="maxIdle" value="30"></property>
<!-- 连接池最小空闲 -->
<property name="minIdle" value="1"></property>
<!-- 获取连接最大等待时间 -->
<property name="maxWait" value="10000"></property>
<!-- dbcp的链接validate配置 -->
<property name="testWhileIdle" value="true"/>
<property name="testOnBorrow" value="false"/>
<property name="testOnReturn" value="false"/>
<property name="validationQuery" value="select sysdate from dual"/>
<property name="validationQueryTimeout" value="1"/>
<property name="timeBetweenEvictionRunsMillis" value="30000"/>
<property name="numTestsPerEvictionRun" value="100" />
</bean>
然而properties文件的加载顺序是如何的呢?我们看看启动时的日志: