programing

스프링 부트 2.4.0 버전에 프로파일 포함

newstyles 2023. 3. 20. 21:42

스프링 부트 2.4.0 버전에 프로파일 포함

개발자로서 디폴트를 사용합니다.dev지역 개발 환경에서 프로파일링합니다.여기 내 일부가 있다.application-dev.properties파일:

# Profiles    
spring.profiles.include=auth

이전에 Spring Boot 2.3.0을 사용했습니다.릴리즈 및spring.profiles.include포함 재산auth실행 시 프로파일.

그러나 Spring Boot 2.4.0으로 이행한 후, 이 기능을 사용할 수 없게 되었습니다.auth프로파일이 유효합니다. spring.profiles.include자산이 예전처럼 작동하지 않는 것 같습니다.

이행 전과 같은 결과를 얻을 수 있도록 프로파일을 설정하는 방법을 가르쳐 주세요.(여기에서는 프로파일 그룹을 사용하고 싶지 않습니다.)

잘 부탁드립니다!

Configuration 처리가 호환되지 않는 방법으로 변경되어 "레거시" 처리 방식을 사용하는 경우 다음을 설정하여 다시 활성화할 수 있습니다.

spring.config.use-legacy-processing=true

또는 YAML을 사용하는 경우:

spring:
  config:
    use-legacy-processing: true

이 명령어는 Configuration 처리를 원래대로 되돌립니다.2.3.x동등.단, 이 속성은 프로파일 설정의 이행을 용이하게 하기 위해서만 존재합니다.2.3.x로.2.4.x향후 메이저릴리즈에서는1 폐지 및 삭제될 가능성이 높기 때문에 가능한 한 빨리 이행을 시도해야 합니다.이 변경의 이유와 추가 정보에 대해서는, 을 참조해 주세요.

에서 주목할 만한2.4.0에는 다음 2가지 패러다임이 있습니다.

Spring Boot 2.4에서는 속성 및 YAML 파일의 로드 방법에 대해 다음 두 가지 중요한 변경을 할 예정입니다.

  1. 정의된 순서대로 문서가 로드됩니다.

  2. 프로파일별 문서에서 프로파일을 더 이상 활성화할 수 없습니다.

이 변경으로 인해 실제로 What-Rides-What-What-What-What-What 로직의 소화가 상당히 쉬워졌지만 일부 기능을 비활성화해야 합니다.예를 들어 다음과 같습니다.

my.prop: test

---
spring.profiles: prodprops
my.prop: prod

---
spring.profiles: prod
# no longer works - activating a profile from a profile-specific document!
spring.profiles.include: prodprops
  

설정이 프로파일 고유의 문서에서 프로파일을 활성화하려고 할 때 예외가 발생합니다.이는 더 이상 허용되지 않습니다.

이 사용 예(및 기타)를 커버하기 위해 프로파일 그룹이 기능으로 추가되었습니다.즉, 이전 동작을 활성화하려면 다음과 같이 프로파일 그룹을 작성해야 합니다.

spring.profiles.group.<group>=dev, auth

또는 YAML의 경우:

spring:
  profiles:
    group:
      <group>: dev, auth

어디에<group>는 선택한 프로파일그룹의 이름입니다.여러 그룹을 정의할 수 있습니다.이들 그룹은 모두 다른 이름을 가져야 합니다.그 후, 를 사용해 애플리케이션을 기동하면,<group>프로파일, 그 그룹의 일부인 모든 프로파일이 활성화 되어야 합니다.

노트로 부츠(스프링 부츠)2.4.0에서는 다음과 같은 다중 스레드 속성 파일에 대한 지원이 추가되었습니다.

test=value
spring.profiles.active=local
#---
spring.config.activate.on-profile=dev
test=overridden value

구분 기호문서의 구분 기호)를 둡니다.#--- 。에 의해, 을, 「 」 「 」 「 」 「 」 「 」 「 」 。.properties「」( 「」)와 .ymlfiles.complete files files files files files files files files.

이 정보 및 기타 정보는 관련 업데이트 게시물에 제공됩니다.

1 이전 권고가 지표일 경우 다음 위치에서 속성을 삭제해야 합니다.2.5.0 또는 빠르면2.6.0가 될 또, 「중략」의 「」의 「중략」의 경우도 있습니다).2.5.x를 참조해 주세요.

하시면 됩니다.spring.config.import를 사용합니다.classpath:

spring.config.import=classpath:application-DEV.yml,classpath:application-auth.yml

위의 답변은 허용되지만요.하지만 여러 파일을 통해 솔루션을 공유합니다.프로젝트에 여러 구성 파일이 있습니다.

./
application.yml
application-auth.yml
application-mockauth.yml
application-datasource.yml

application-auth.yml 또는 application-datasource.yml 본문은 스프링 부트 2.4 이전에 구현한 것과 동일합니다.마이너 조정은 application.yml 내에 있습니다.

spring:
  profiles:
    group:
      "dev": "datasource,mockauth"
      "prod": "datasource,auth"

spring.profiles.include 대신 관련 설정을 환경명(dev, prod...)으로 그룹화합니다.

이 경우에도 하실 수 있습니다.spring.config.import매뉴얼에 따라 설정을 다른 파일에서 Import합니다.Spring Boot 2.4에서의 설정 파일 처리

언급URL : https://stackoverflow.com/questions/64907675/including-profiles-in-spring-boot-2-4-0-version