91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringBoot項目多層級多環境yml設計的方法是什么

發布時間:2023-03-01 17:55:35 來源:億速云 閱讀:116 作者:iii 欄目:開發技術

本篇內容介紹了“SpringBoot項目多層級多環境yml設計的方法是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

需求場景

基礎設施模塊中有一些通用固定的基礎配置。例如:日志的配置,Spring本身的配置以及MyBatis Plus相關的固定配置等等。 這些配置往往與環境無關,如何復用?

# 日志配置
logging:
  level:
    # 記得配置到包名
    com.agileboot: debug
    org.springframework: info
  pattern:
    console: "%date %thread %green(%level) [%cyan(%logger{10}):%magenta(%line)] %red(%method) | %msg%n"
# Spring配置
spring:
  # 文件上傳
  servlet:
     multipart:
       # 單個文件大小
       max-file-size:  10MB
       # 設置總上傳的文件大小
       max-request-size:  20MB
  mvc:
    pathmatch:
      matching-strategy: ANT_PATH_MATCHER
  jackson:
    deserialization:
      fail-on-unknown-properties: false
    serialization:
      write-dates-as-timestamps: false
    date-format: yyyy-MM-dd HH:mm:ss

基礎設施模塊中還有一些獨立于環境的配置。例如MysqlRedis或者MQ之類的。如何區分環境?

# 數據源配置
spring:
    # redis 配置
    redis:
        # 地址
        host: localhost
        # 端口,默認為6379
        port: 36379
        # 數據庫索引
        database: 0
        # 密碼
        password: 12345
        # 連接超時時間
        timeout: 10s
        lettuce:
            pool:
                # 連接池中的最小空閑連接
                min-idle: 0
                # 連接池中的最大空閑連接
                max-idle: 8
                # 連接池的最大數據庫連接數
                max-active: 8
                # #連接池最大阻塞等待時間(使用負值表示沒有限制)
                max-wait: -1ms

日志相關的配置我們一般都配在logback.xml文件中。如何實現不同環境日志路徑不一樣?

想要達到的效果

  • 復用基礎設施模塊中的固定配置。

  • 區分多環境的配置。

  • logback日志引入多環境配置。

實現

假設我們有一個Admin模塊,我們可以給它定義一份application.yml文件。文件中描述該模塊特定的配置。比如端口,訪問路徑之類的。

# 開發環境配置
server:
  # 服務器的HTTP端口,默認為8080
  port: 8080
  servlet:
    # 應用的訪問路徑
    context-path: /
  tomcat:
    # tomcat的URI編碼
    uri-encoding: UTF-8
    # 連接數滿后的排隊數,默認為100
    accept-count: 1000
    threads:
      # tomcat最大線程數,默認為200
      max: 800
      # Tomcat啟動初始化的線程數,默認值10
      min-spare: 100
# Spring配置 如果需要無Mysql  無Redis直接啟動的話  dev改為test
# 生產環境把dev改為prod
spring:
  profiles:
    active: basic,dev

在基礎設施模塊中新建

applicaiton-basic.yml,配置一些與環境無關的基礎固定復用配置。

application-dev.yml,配置一些和環境相關的配置,例如數據庫的配置。

然后在spring.profiles.active配置中指定basic和dev文件。

SpringBoot項目多層級多環境yml設計的方法是什么

此時springboot會自動去找applicaiton-basic.ymlapplication-dev.yml文件。
所以我們最終的配置文件是由applicaiton.yml+applicaiton-basic.yml+applicaiton-dev.yml疊加的配置。

日志的多環境配置,我們可以新建一份logback-spring.xml文件。 假設我們想要根據環境配置不同的日志路徑。可以在例如application-dev.yml文件中配置logging.file.path。

SpringBoot項目多層級多環境yml設計的方法是什么

然后在logback-spring.xml文件中使用springProperty標簽讀取多環境yml中配置的路徑。

SpringBoot項目多層級多環境yml設計的方法是什么

此時日志的路徑就會分別讀取不同環境配置的路徑了。

“SpringBoot項目多層級多環境yml設計的方法是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

云龙县| 康平县| 禹城市| 红安县| 晋州市| 富阳市| 正镶白旗| 香格里拉县| 旺苍县| 临湘市| 宁南县| 淅川县| 汪清县| 肃宁县| 剑阁县| 河北区| 会理县| 太原市| 东源县| 青铜峡市| 苍溪县| 贡觉县| 潜山县| 水城县| 乌拉特中旗| 洱源县| 西昌市| 曲周县| 象山县| 雷山县| 普兰县| 河北省| 陈巴尔虎旗| 黑水县| 钟山县| 宣恩县| 黄石市| 中牟县| 浦江县| 昔阳县| 柯坪县|