天天看點

後端web開發架構(六):application.properties檔案常見配置

一、application配置檔案

application配置檔案兩種格式:application.properties  和 application.yml

本文以application.properties舉例,#後面跟注解:

伺服器位址:server.address 

端口:server.port = 8088

服務逾時時間:server.connection-timeout=60000

服務名稱:spring.application.name  = CoastAutoTest  #單體springboot項目服務名稱沒什麼用,但是在springcloud叢集中需要服務名稱來識别服務

二、多環境配置

1. 開發代碼切換多環境

下圖示例: 第一個為預設配置檔案,後面四個分别為dev開發環境 、test測試環境 、pre預發環境、 prod生産環境的配置檔案,友善各環節切換,

application.properties檔案中配置要運作的環境,比如dev寫成:spring.profiles.active = dev

application-dev.properties等檔案配置具體環境資訊,比如端口等,

程式運作時,會先調用application.properties檔案中的配置。

後端web開發架構(六):application.properties檔案常見配置

2. 配置指定環境打包

在前一步建好各個環境配置檔案的基礎之上,再在pom檔案中寫入多環境配置,配置資訊跟<dependencies> </dependencies>層級平級:

<!--多環境配置資訊-->
 <profiles>
    <profile>
      <!--環境的唯一值-->
      <id>dev</id>
      <properties>
         <!--定義環境的屬性 此處的标簽是自定義的。比如<env>dev</env> -->
         <!--這個标簽會在application.properties預設配置檔案中用到-->
         <spring.profiles.active>dev</spring.profiles.active>
      </properties>
      <!--預設環境-->
      <activation>
         <activeByDefault>true</activeByDefault>
      </activation>
   </profile>
    <!--測試環境-->
   <profile>
      <id>test</id>
      <properties>
         <profile.enviroment>test</profile.enviroment>
      </properties>
   </profile>
   <!--預發環境-->
   <profile>
      <id>pre</id>
      <properties>
         <profile.enviroment>pre</profile.enviroment>
      </properties>
   </profile>
   <!--生産環境-->
    <profile>
       <id>prod</id>
       <properties>
          <profile.enviroment>prod</profile.enviroment>
       </properties>
    </profile>
</profiles>      

3. jar常見指令:

   打包指令:mvn clean install -U -DskipTests

   啟動jar包:java -jar  XXX.jar>test.log --spring.profiles.active = dev  (可以直接把啟動指令放在     sh格式的檔案中,用sh指令啟動)

   檢視服務程序:ps -ef|grep XXX        程序号:12345

   停止程序:kill -9 12345

   執行啟動指令:sh  abc.sh (啟動服務後,用戶端就能通過伺服器ip位址通路到服務)

   實時檢視服務日志:tail -f test.log

三、遇到的問題及解決方案:

1. mvn指令  package 和 install的差別:

  package:将打包結果放到項目下的 target 目錄下  

  install:打包結果放到項目下的 target 目錄下,同時将上述打包結果放到本地倉庫的相應目錄中,供其他項目或子產品引用