SpringBoot 2.3 새 설정 파일 속성 추적

배경
spring boot 를 사용 하여 다 중 환경 에서 포장 할 때 설정 속성 이 서로 다른 환경 에서 의 값 이 다 릅 니 다.다음 과 같 습 니 다.

spring:
 profiles:
  active: @project.profile@ #  maven     profile
---
spring:
 profiles: dev
demo: lengleng_dev
---
spring:
 profiles: prd
demo: lengleng_prd
또는 spring cloud 설정 센터(nacos/config)등 을 사용 합 니 다.

또한 설정 의 같은 속성 을 사용 합 니 다.값 의 출처 는 설정 파일,환경 변수,시작 매개 변수 등에 서 나 올 수 있 습 니 다.많은 경우 위 설정 의 복잡성 으로 인해 설정 을 읽 을 때 우리 가 예상 한 값 이 아 닙 니 다.예 를 들 어 우 리 는 파일 dev 환경 을 설정 하 는 값 을 사용 하고 싶 지만 환경 변수 나 다른 데이터 로 덮어 쓰 는 등 우리 가 실 행 될 때 만 출력 로 그 를 발견 할 수 있 습 니 다.
해결 방안
spring boot 2.3 Actuator 제공/actuator/configprops 점(이전 버 전에 도 이 점 이 있 었 으 나 행동 이 바 뀌 었 습 니 다./actuator/env 가 일치 합 니 다)설정 파일 속성 추적 기능 을 제공 하여 spring boot 응용 프로그램 에서 실시 간 으로 설정 파일 의 실제 로드 값 을 가 져 올 수 있 도록 합 니 다.
어떻게 사용 합 니까?
actuator 의존 도입

<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
configprops 단점 노출

management:
 endpoints:
  web:
   exposure:
    include: 'configprops'
대응 설정 클래스

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

  private String username;

  private String password;
}

Endpoint 에 방문 하여 설정 파일 의 값 을 실시 간 으로 가 져 옵 니 다.

특별 설명
configprops Endpoint 는 민감 한 필드 에 대한 기본 탈 민,기본 키워드 클래스

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"));
}

맞 춤 형 탈 민 규칙 설정

management:
 endpoint:
  configprops:
   keys-to-sanitize:
    - 'aaa'
    - 'bbb'
설정 류 의 특정한 속성 값 이 비어 있 을 때/actuator/configprops 를 통 해 접근 하면 이 속성 을 표시 하지 않 습 니 다.
총결산
configprops 터미널 은 ConfigurationProperties ReportEndpoint 클래스 에 대응 합 니 다.읽 기 를 통 해 Property Source 에서 설정 을 가 져 오 는 방법 을 알 수 있 습 니 다.
응용 장면:CI 는 유닛 테스트 를 수행 하기 전에 이 점 을 통 해 설정 이 예상 과 일치 하 는 지 판단 하고 불필요 한 실행 조건 을 피해 야 합 니 다.
상기 소스 코드 는 참고 할 수 있 습 니 다https://github.com/lltx/spring-boot-course
SpringBoot 2.3 새 설정 파일 속성 추적 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.SpringBoot 2.3 파일 속성 추적 에 관 한 더 많은 내용 은 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기