1. 程式人生 > >Spring依賴配置——PropertyPlaceholderConfigurer

Spring依賴配置——PropertyPlaceholderConfigurer

PropertyPlaceholderConfigurer類的作用是載入外部的java Properties檔案屬性。
然後在XML檔案中用${key}替換指定的properties檔案中的值。這樣的話,只需要對properties檔案進行修改,而不用對xml配置檔案進行修改。
假設在外部添加了jdbc.properties,內容為:

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost/tangwenmingldb
jdbc.username=root
jdbc.password=123456

我們可以在配置檔案中載入外部的properties檔案。

<bean id="propertyConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location">
        <!-- 可引入多個配置檔案 -->
        <list>
            <value>/WEB-INF/mail.properties</value>
            <value>classpath: conf/jdbc.properties</value>
        </list>
    </property>
    <!-- 還可以指定外部檔案的編碼格式 -->
    <property name="fileEncoding">
        <value>UTF-8</value>
    </property>
</bean>

載入完畢後,就可以採用${}直接使用mail.properties和jdbc.properties中定義的屬性了
比如:

<bean id="dataSource"class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close">
  <property name="driverClassName"value="${jdbc.driverClassName}" />
  <property name="url" value="${jdbc.url}" />
  <property name="username" value="${jdbc.username}"/>
  <property name="password"value="${jdbc.password}" />
</bean>