1. 程式人生 > >spring mvc xml 配置資料來源通過${}

spring mvc xml 配置資料來源通過${}

有時候我們不想在打包的時候把資料來源連線屬性等引數也打包進去。

以我們公司為例,一個專案會部署不同的地市,不同的地市使用不同的資料庫口令,連線

所以我把資料來源部分抽離處理放在tomcat的weapps目錄下面,是要修改時候直接改了重啟即可,不需要重新編碼程式碼或者修改原始碼,一下方式供大家參考。

在applicationContext.xml載入以下配置:

<context:property-placeholder location="file:../webapps/application.properties" />

applicationContext.xml資料來源部分:

  <bean id="gp_ssmp_DataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">

        <!--<property name="auth" value="${ssmp_gp.auth}"/>-->
        <!--<property name="type" value="${ssmp_gp.type}"/>-->
        <property name="driverClassName" value="${ssmp_gp.driverClassName}"/>
        <property name="url" value="${ssmp_gp.url}"/>
        <property name="username" value="${ssmp_gp.username}"/>
        <property name="password" value="${ssmp_gp.password}"/>
        <property name="initialSize" value="${ssmp_gp.initialSize}"/>
        <property name="maxActive" value="${ssmp_gp.maxActive}"/>
        <property name="maxIdle" value="${ssmp_gp.maxIdle}"/>
        <property name="maxWait" value="${ssmp_gp.maxWait}"/>
        <property name="validationQuery" value="${ssmp_gp.validationQuery}"/>
    </bean>

application.properties內容如下:


####################################################
###ssmp_gp_stb.datasource###
ssmp_gp_stb.auth=Container
ssmp_gp_stb.type=javax.sql.DataSource
ssmp_gp_stb.driverClassName=org.postgresql.Driver
ssmp_gp_stb.url=jdbc:postgresql://192.168.8.52:5432/gp_gz
ssmp_gp_stb.username=gzgp
ssmp_gp_stb.password=123456
ssmp_gp_stb.initialSize=5
ssmp_gp_stb.maxActive=10
ssmp_gp_stb.maxIdle=10
ssmp_gp_stb.maxWait=-1
ssmp_gp_stb.validationQuery=select 1

bean裡面使用不同的BasicDataSource所需要的引數也不一樣這一點需要注意,