qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

          項目開發(fā)中切換部署開發(fā)、測試、生產(chǎn)多環(huán)境

          在開發(fā)的過程中,不可避免會接觸到至少三個環(huán)境的程序部署:開發(fā)、測試和生產(chǎn)環(huán)境。
            每個環(huán)境都使用一套數(shù)據(jù)庫配置,路徑配置等,如果每次都人工的干預(yù)每一個配置文件,工作會比較繁雜,且容易遺漏并且出錯。
            spring3.1之后提供了profile功能,可以切換不同的自定義profile環(huán)境,唯一的缺點是和maven結(jié)合不大好,只能在web.xml中進行修改。
            方法如下:
            1、在beans.xml中定義各個環(huán)境。
          <beans profile="develop">
          </beans>
          <beans profile="test">
          </beans>
          <beans profile="product">
          </beans>
            每個環(huán)境如果使用了不同的配置文件(properties文件等)可以在環(huán)境中進行加載聲明。
            該段代碼需在文件根節(jié)點的最后一段
            如
            <beans profile="test">
            <context:property-placeholder location="classpath*:jdbc-test.properties"/>
            </beans>
            2、定義屬性之外的配置,如指定數(shù)據(jù)庫bean等
          <beans profile="test,develop">
          <bean id="authDataSource"
          class="org.springframework.jdbc.datasource.DriverManagerDataSource">
          <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver">
          </property>
          <property name="url"
          value="jdbc:oracle:thin:@208.120.102.10:1522:ora11g">
          </property>
          <property name="username" value="user"></property>
          <property name="password" value="passwd"></property>
          </bean>
          </beans>
          <beans profile="product">
          <bean id="authDataSource"
          class="org.springframework.jdbc.datasource.DriverManagerDataSource">
          <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver">
          </property>
          <property name="url"
          value="jdbc:oracle:thin:@198.121.33.7:1521:ora10g">
          </property>
          <property name="username" value="user"></property>
          <property name="password" value="passwd"></property>
          </bean>
          </beans>
          此處定義了不同環(huán)境下不同的數(shù)據(jù)庫鏈接信息
            3、web.xml中定義當(dāng)前使用哪個環(huán)境
            在web.xml中操作context-param節(jié)點
            <context-param>
            <param-name>spring.profiles.active</param-name>
            <param-value>product</param-value>
            </context-param>
            部署時指定哪個環(huán)境為激活狀態(tài)即可。
            如果進行junit測試可以使用
            @ActiveProfiles({"test","develop"})
            附: 如果spring的profile可以和maven的發(fā)布共同作用就更好了,但是筆者目前還未能成功將2者結(jié)合。
            配置提醒:
            <beans xmlns="http://www.springframework.org/schema/beans" profile="test,develop" -----設(shè)置這個之后,數(shù)據(jù)庫只對test,develop有效
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
            <!-- 定義數(shù)據(jù)連接池 -->
            <!-- 使用spring自帶的DriverManagerDataSource方式 -->

          posted on 2014-06-13 09:56 順其自然EVO 閱讀(569) 評論(1)  編輯  收藏

          評論

          # re: 項目開發(fā)中切換部署開發(fā)、測試、生產(chǎn)多環(huán)境 2014-06-18 10:59 yongxin

          maven也有各種環(huán)境配置的,利用resource的filters  回復(fù)  更多評論   


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          <2014年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 峨边| 大方县| 卓资县| 利津县| 天全县| 宁津县| 门头沟区| 炎陵县| 洛扎县| 肃北| 信丰县| 中江县| 宜都市| 高要市| 弥勒县| 和政县| 固原市| 旬邑县| 当阳市| 农安县| 涞源县| 盘锦市| 湾仔区| 安岳县| 锡林浩特市| 温州市| 兰州市| 平邑县| 衡水市| 江油市| 昔阳县| 雷州市| 射阳县| 嘉黎县| 浮山县| 黔西| 临西县| 肥西县| 南昌市| 花垣县| 郴州市|