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

淺談SpringBoot2.3 新特配置文件屬性跟蹤

 更新時間:2020年06月22日 15:02:27   作者:冷冷  
這篇文章主要介紹了淺談SpringBoot2.3 新特配置文件屬性跟蹤,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

背景

當(dāng)我們使用 spring boot 在多環(huán)境打包,配置屬性在不同環(huán)境的值不同,如下:

spring:
 profiles:
  active: @project.profile@ #根據(jù)maven 動態(tài)配置profile
---
spring:
 profiles: dev
demo: lengleng_dev
---
spring:
 profiles: prd
demo: lengleng_prd

或者使用 spring cloud 配置中心 (nacos/config)等

再有就是 應(yīng)用配置的同一個屬性,值的來源可能來自配置文件、環(huán)境變量、啟動參數(shù)等等。 很多情況由于如上配置的復(fù)雜性,應(yīng)用在讀取配置的時候,并不是我們預(yù)期的值,比如我們想使用是配置文件 dev 環(huán)境的值,卻被環(huán)境變量的 或者其他的數(shù)據(jù)覆蓋等,這些往往只有等我們運(yùn)行時,輸出日志才能發(fā)現(xiàn)錯誤原因。

解決方案

spring boot 2.3 Actuator 提供 /actuator/configprops 端點 (之前版本也有此端點,但是行為發(fā)生變化了 /actuator/env 保持一致 ),提供對配置文件屬性跟蹤功能,方便我們在 spring boot 應(yīng)用中,實時的獲取配置文件實際加載值。

如何使用

引入 actuator 依賴

<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

暴露 configprops 端點

management:
 endpoints:
  web:
   exposure:
    include: 'configprops'

對應(yīng)配置類

@Data
@Component
@ConfigurationProperties("demo")
public class DemoConfig {

  private String username;

  private String password;
}

訪問 Endpoint 實時獲取配置文件的值

特殊說明

configprops Endpoint 會對敏感字段默認(rèn)脫敏 ,默認(rèn)關(guān)鍵字類

public class Sanitizer {

  private static final String[] REGEX_PARTS = { "*", "$", "^", "+" };

  private static final Set<String> DEFAULT_KEYS_TO_SANITIZE = new LinkedHashSet<>(Arrays.asList("password", "secret",
      "key", "token", ".*credentials.*", "vcap_services", "sun.java.command"));
}

配置個性化脫敏規(guī)則

management:
 endpoint:
  configprops:
   keys-to-sanitize:
    - 'aaa'
    - 'bbb'

當(dāng)配置類的某個屬性值為空時, 通過 /actuator/configprops 訪問,不會展示此屬性。

總結(jié)

configprops 端點對應(yīng) ConfigurationPropertiesReportEndpoint 類, 通過閱讀 可以了解從 PropertySource 獲取配置的技巧
應(yīng)用場景: CI 在執(zhí)行單元測試的前置應(yīng)該通過此端點判斷配置是否和預(yù)期一致,避免無用執(zhí)行條件

以上源碼可以參考: https://github.com/lltx/spring-boot-course

到此這篇關(guān)于淺談SpringBoot2.3 新特配置文件屬性跟蹤的文章就介紹到這了,更多相關(guān)SpringBoot2.3 文件屬性跟蹤內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • spring cloud 配置中心native配置方式

    spring cloud 配置中心native配置方式

    這篇文章主要介紹了spring cloud 配置中心native配置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java 泛型(Generic)簡介及用法詳解

    Java 泛型(Generic)簡介及用法詳解

    泛型是一種把類型明確的工作推遲到創(chuàng)建對象或者調(diào)用方法的時候才去明確的特殊的類型,參數(shù)化類型,把類型當(dāng)作參數(shù)一樣的傳遞,本文給大家介紹Java 泛型(Generic)概述及使用,感興趣的朋友跟隨小編一起看看吧
    2023-10-10
  • Java中間的接口用法詳解

    Java中間的接口用法詳解

    Java 程序員都知道要面向接口編程,那 Java? 中的接口除了定義接口方法之外還能怎么用你知道嗎,今天小編就來帶大家看一下 Java 中間的接口還可以有哪些用法,需要的朋友可以參考下
    2023-07-07
  • Mybatis返回插入的主鍵問題解決方案

    Mybatis返回插入的主鍵問題解決方案

    這篇文章主要介紹了Mybatis返回插入的主鍵問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • java HashMap內(nèi)部實現(xiàn)原理詳解

    java HashMap內(nèi)部實現(xiàn)原理詳解

    這篇文章主要介紹了java HashMap內(nèi)部實現(xiàn)原理詳解的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • Spring中的@ControllerAdvice和@ExceptionHandler注解處理全局異常

    Spring中的@ControllerAdvice和@ExceptionHandler注解處理全局異常

    這篇文章主要介紹了Spring中的@ControllerAdvice和@ExceptionHandler注解處理全局異常,@ControllerAdvice ,@ControllerAdvice是一個非常有用的注解,顧名思義,這是一個增強(qiáng)的 Controller,一般配合@ExceptionHandler使用來處理全局異常,需要的朋友可以參考下
    2024-01-01
  • 詳解Java單元測試Junit框架實例

    詳解Java單元測試Junit框架實例

    這篇文章主要介紹了Java的異常測試框架JUnit使用上手指南,JUnit是Java代碼進(jìn)行單元測試中的常用工具,需要的朋友可以參考下
    2017-04-04
  • Java虛擬機(jī)之對象創(chuàng)建過程與類加載機(jī)制及雙親委派模型

    Java虛擬機(jī)之對象創(chuàng)建過程與類加載機(jī)制及雙親委派模型

    這篇文章主要給大家介紹了關(guān)于Java虛擬機(jī)之對象創(chuàng)建過程與類加載機(jī)制及雙親委派模型的相關(guān)資料,本文通過示例代碼以及圖文介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2021-11-11
  • Java中POST、GET、@RequestBody和@RequestParam區(qū)別詳析

    Java中POST、GET、@RequestBody和@RequestParam區(qū)別詳析

    在前后端傳json數(shù)據(jù)進(jìn)行交互的時候,同學(xué)們會經(jīng)常用到的兩個注解,@RequestBody和@RequestParam主要是用來接收前端傳給后端的json數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Java中POST、GET、@RequestBody和@RequestParam區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • Spring?Boot項目傳參校驗的最佳實踐指南

    Spring?Boot項目傳參校驗的最佳實踐指南

    有參數(shù)傳遞的地方都少不了參數(shù)校驗,在web開發(fā)中前端的參數(shù)校驗是為了用戶體驗,后端的參數(shù)校驗是為了安全,下面這篇文章主要給大家介紹了關(guān)于Spring?Boot項目傳參校驗的最佳實踐,需要的朋友可以參考下
    2022-04-04

最新評論