1. 程式人生 > >Java之品優購課程講義_day20(5)

Java之品優購課程講義_day20(5)

資源過濾與變數替換  修改 pom.xml ,在 build 節點中新增如下配置

<filters>
   <filter>src/main/resources/filters/db_${env}.properties</filter>
  </filters>
  <resources>
   <resource>
    <directory>src/main/resources</directory>
    <filtering>true</filtering>
   </resource>    
  </resources>

這裡我們利用 filter 實現對資原始檔(resouces) 過濾 maven filter可利用指定的xxx.properties中對應的key=value對資原始檔中的${key}進行替 換,最終把你的資原始檔中的 username=${key}替換成 username=value  2.3.4 打包  在 pinyougou-dao 工程 執行命令:package -P pro , 解壓生成的 jar 包,觀察 db.properties 配置檔案內容,已經替換為生產環境的值。  在 pinyougou-sellergoods-service 工程 執行命令 pageage ,解壓生成的 war 包裡的 pinyougou-dao 的 jar 包,發現也是生成環境的值。  2.3.5 測試執行  【1】連線生產資料庫  (1)在 pinyougou-dao 工程執行命令:install -P pro  (2)在 pinyougou-sellergoods-service:執行命令:tomcat7:run  (3)在 pinyougou-shop-web : 執行命令:tomcat7:run  【2】連線開發資料庫  (1)在 pinyougou-dao 工程執行命令:install -P dev (或 install )  (2)在 pinyougou-sellergoods-service:執行命令:tomcat7:run  (3)在 pinyougou-shop-web : 執行命令:tomcat7:run  2.4 切換註冊中心連線配置  2.4.1 集中配置註冊中心地址  (1)在 pinyougou-common 工程中 properties 下建立 dubbox.properties

address=192.168.25.135:2181

(2)Spring 目錄下建立 spring 配置檔案 applicationContext-dubbox.xml 配置如下:

&lt;dubbo:registry protocol="zookeeper" address="${address}"/&gt;

(3)所有的服務工程與 web 工程都要依賴 pinyougou-common . 並刪除每個工程中關於注 冊中心地址的配置 (4)安裝 pinyougou-common 到本地倉庫,然後測試執行。  2.4.2 MavenProfile 配置  (1)在 pinyougou-common 工程中建立 filters 目錄 ,目錄下建立 dubbox_dev.properties

env.address=192.168.25.135:2181

(2)建立 dubbox_pro.properties

env.address=192.168.25.136:2181

(3)修改 dubbox.properties

address=${env.address}

(4)修改 pinyougou-common 的 pom.xml

<properties>
  <env>dev</env> 
</properties>
 <profiles>
 <profile>
  <id>dev</id>
  <properties>
   <env>dev</env>
  </properties>
 </profile>
 <profile>
  <id>pro</id>
  <properties>
   <env>pro</env>
  </properties>
 </profile>
</profiles> 
............................. 
 <build>
  <filters>
   <filter>src/main/resources/filters/dubbox_${env}.properties</filter>
  </filters>
  <resources>
   <resource>
    <directory>src/main/resources</directory>
    <filtering>true</filtering>
   </resource> 
  </resources> 
  </build>