欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot項目多層級多環(huán)境yml設(shè)計詳解

 更新時間:2023年03月01日 09:03:52   作者:CoderV的進階筆記  
這篇文章主要為大家介紹了SpringBoot項目多層級多環(huán)境yml設(shè)計詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

需求場景

基礎(chǔ)設(shè)施模塊中有一些通用固定的基礎(chǔ)配置。例如:日志的配置,Spring本身的配置以及MyBatis Plus相關(guān)的固定配置等等。 這些配置往往與環(huán)境無關(guān),如何復(fù)用?

# 日志配置
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
       # 設(shè)置總上傳的文件大小
       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

基礎(chǔ)設(shè)施模塊中還有一些獨立于環(huán)境的配置。例如Mysql和Redis或者MQ之類的。如何區(qū)分環(huán)境?

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

日志相關(guān)的配置我們一般都配在logback.xml文件中。如何實現(xiàn)不同環(huán)境日志路徑不一樣?

想要達到的效果

  • 復(fù)用基礎(chǔ)設(shè)施模塊中的固定配置。
  • 區(qū)分多環(huán)境的配置。
  • logback日志引入多環(huán)境配置。

詳細代碼實現(xiàn)在開源項目Agileboot中:github.com/valarchie/A…

實現(xiàn)

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

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

在基礎(chǔ)設(shè)施模塊中新建

applicaiton-basic.yml,配置一些與環(huán)境無關(guān)的基礎(chǔ)固定復(fù)用配置。

application-dev.yml,配置一些和環(huán)境相關(guān)的配置,例如數(shù)據(jù)庫的配置。

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

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

日志的多環(huán)境配置,我們可以新建一份logback-spring.xml文件。 假設(shè)我們想要根據(jù)環(huán)境配置不同的日志路徑??梢栽诶鏰pplication-dev.yml文件中配置logging.file.path。

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

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

關(guān)于多層級多環(huán)境的yml及日志設(shè)計的內(nèi)容比較少。在此稍作總結(jié),希望有幫助到有類似需求的人。

以上就是SpringBoot項目多層級多環(huán)境yml設(shè)計詳解的詳細內(nèi)容,更多關(guān)于SpringBoot多層級多環(huán)境yml的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • IDEA中osgi的開發(fā)應(yīng)用指南詳解

    IDEA中osgi的開發(fā)應(yīng)用指南詳解

    這篇文章主要介紹了IDEA中osgi的開發(fā)應(yīng)用指南詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-04-04
  • SpringMVC設(shè)置全局異常處理器的步驟

    SpringMVC設(shè)置全局異常處理器的步驟

    在項目中我們有需求做一個全局異常處理,來規(guī)范所有出去的異常信息,這篇文章主要介紹了SpringMVC設(shè)置全局異常處理器,需要的朋友可以參考下
    2024-03-03
  • springboot中@Async默認線程池導(dǎo)致OOM問題

    springboot中@Async默認線程池導(dǎo)致OOM問題

    這篇文章主要介紹了springboot中@Async默認線程池導(dǎo)致OOM問題,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Java 文創(chuàng)商城系統(tǒng)的實現(xiàn)流程

    Java 文創(chuàng)商城系統(tǒng)的實現(xiàn)流程

    讀萬卷書不如行萬里路,只學(xué)書上的理論是遠遠不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SSM+mysql+maven+tomcat實現(xiàn)一個文創(chuàng)商城系統(tǒng),大家可以在過程中查缺補漏,提升水平
    2021-11-11
  • Java對象數(shù)組的添加、刪除和遍歷代碼示例

    Java對象數(shù)組的添加、刪除和遍歷代碼示例

    在Java編程中,我們經(jīng)常需要對數(shù)據(jù)結(jié)構(gòu)進行遍歷操作,并根據(jù)業(yè)務(wù)需求刪除部分元素,這篇文章主要給大家介紹了關(guān)于Java對象數(shù)組的添加、刪除和遍歷的相關(guān)資料,需要的朋友可以參考下
    2024-04-04
  • Java一個簡單的紅包生成算法

    Java一個簡單的紅包生成算法

    今天小編就為大家分享一篇關(guān)于Java一個簡單的紅包生成算法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Java多線程的常用創(chuàng)建方式總結(jié)

    Java多線程的常用創(chuàng)建方式總結(jié)

    今天給大家?guī)淼氖顷P(guān)于Java多線程的相關(guān)知識,文章圍繞著Java多線程的常用創(chuàng)建方式展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Java中的異常和處理機制實例詳解

    Java中的異常和處理機制實例詳解

    這篇文章主要介紹了Java中的異常和處理機制,結(jié)合實例形式詳細分析了Java異常與處理機制的相關(guān)概念、原理、用法及操作注意事項,需要的朋友可以參考下
    2019-05-05
  • 基于Spring的Maven項目實現(xiàn)發(fā)送郵件功能的示例

    基于Spring的Maven項目實現(xiàn)發(fā)送郵件功能的示例

    這篇文章主要介紹了基于Spring的Maven項目實現(xiàn)發(fā)送郵件功能,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Java創(chuàng)建對象的四種方式詳解

    Java創(chuàng)建對象的四種方式詳解

    這篇文章主要介紹了Java創(chuàng)建對象的四種方式詳解,如果我們不想利用默認構(gòu)造器來創(chuàng)建java對象,而想利用指定的構(gòu)造器來創(chuàng)建java對象,則需要利用Construtor對象,每個Construtor對應(yīng)一個構(gòu)造器,需要的朋友可以參考下
    2023-11-11

最新評論