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中進(jìn)行修改。
            方法如下:
            1、在beans.xml中定義各個環(huán)境。
          <beans profile="develop">
          </beans>
          <beans profile="test">
          </beans>
          <beans profile="product">
          </beans>
            每個環(huán)境如果使用了不同的配置文件(properties文件等)可以在環(huán)境中進(jì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)即可。
            如果進(jìn)行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)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 顺义区| 栖霞市| 高要市| 漾濞| 三亚市| 遂川县| 都兰县| 靖江市| 临沭县| 云南省| 青海省| 鄂托克旗| 元氏县| 包头市| 双城市| 裕民县| 渭南市| 永修县| 南丹县| 金华市| 汉阴县| 舞阳县| 兴业县| 桐城市| 霍城县| 开化县| 砚山县| 博客| 信宜市| 梅河口市| 琼结县| 通道| 铜鼓县| 罗甸县| 乌拉特前旗| 金堂县| 堆龙德庆县| 武强县| 澜沧| 贺兰县| 治多县|