Spring中使用變量${}的方式進行參數配置


  在使用Spring時,有些情況下,在配置文件中,需要使用變量的方式來配置bean相關屬性信息,比如下面的數據庫的連接使用了${}的方式進行配置,如下所示:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
        destroy-method="close">
        <property name="driverClassName" value="${driver}" />
        <property name="url" value="${url}" />
        <property name="username" value="${username}" />
        <property name="password" value="${password}" />
        <!-- 初始化連接大小 -->
        <property name="initialSize" value="${initialSize}"></property>
        <!-- 連接池最大數量 -->
        <property name="maxActive" value="${maxActive}"></property>
        <!-- 連接池最大空閑 -->
        <property name="maxIdle" value="${maxIdle}"></property>
        <!-- 連接池最小空閑 -->
        <property name="minIdle" value="${minIdle}"></property>
        <!-- 獲取連接最大等待時間 -->
        <property name="maxWait" value="${maxWait}"></property>
    </bean>

  那么上面的${}中的變量具體的值是從哪來的???肯定很多小伙伴一開始也跟我一樣有疑問,其實很簡單,具體有兩種方式來進行配置:

  方法一:使用bean的注入來引入配置文件:

<!-- 引入配置文件 -->
    <bean id="propertyConfigurer"
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location" value="classpath*:jdbc.properties" />
    </bean>

  方法二:spring3提供更簡單的方式,使用自動掃描的方式:

<!-- 配置文件 -->
    <context:property-placeholder location="classpath*:jdbc.properties" />

  以上兩種方式都可以將指定的配置文件加載進來,然后通過${}符號的引用,即可通過外部對變量的修改,來進行切換,不需要每次改動內部的值!

  jdbc.properties文件的內容格式也很簡單,是鍵值對的方式,#表示注釋,比如:  

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/test?autoReconnect=true
username=root
password=root
#定義初始連接數 
initialSize=5
#定義最大連接數  
maxActive=20
#定義最大空閑  
maxIdle=20
#定義最小空閑  
minIdle=1
#定義最長等待時間  
maxWait=60000


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM