>  기사  >  Java  >  Java Spring Boot에서 다중 환경 구성 파일의 우선순위와 방법은 무엇입니까?

Java Spring Boot에서 다중 환경 구성 파일의 우선순위와 방법은 무엇입니까?

PHPz
PHPz앞으로
2023-04-22 23:28:062549검색

    머리말

    질문: Springboot 프로젝트에서 개발 환경, 테스트 환경, 프로덕션 환경 구성 파일을 어떻게 분리하나요?

    답변: 다중 프로필 파일 방법

    1. 다중 환경 구성(프로필)

    1.1, 속성 파일 구성

    application.properties: 기본 구성 파일

    기본 구성 파일 구성에 따라 환경이 결정됩니다. 구성 파일

      spring.profiles.active=dev

    은 spring.profiles.active 값

    application-{profile}.properties

    개발, 테스트 및 프로덕션 환경 구성 파일

    • application-dev에 따라 다양한 환경 구성

        spring:
            profiles:
                active:dev
    • 을 로드하도록 선택합니다. .properties: 개발 환경 구성 파일

    • application-test.properties: 테스트 환경 구성 파일

    application-prod.properties: 프로덕션 환경 구성 파일

    1.2, YML 파일 구성

    application.yml : 기본 구성 파일

    기본 구성 파일 구성 로드할 환경 구성 파일을 결정합니다

    application-{profile}.yml
    spring.profiles.active 값에 따라 다양한 환경 구성 파일을 로드하도록 선택합니다
    #默认配置
    server:
      port: 8080
    #切换配置
    spring:
      profiles:
        active: prod
      개발, 테스트 및 프로덕션 환경 구성 파일:
    • application-dev.yml: 개발 환경 구성 파일

    • application-test.yml: 테스트 환경 구성 파일

    application-prod.yml: 프로덕션 환경 구성 파일

    1.3. 기본 구성 파일 스위치 구성

    1.3.1. 스위치 생산 구성

    #开发环境配置
    server:
      port: 8080
    #切换配置
    spring:
      profiles:
        active: dev

    1.3.2, 스위치 개발 구성

    #测试环境配置
    server:
      port: 8080
    #切换配置
    spring:
      profiles:
        active: test

    1.3.3, 스위치 테스트 구성

    指当前项目根目录;
    1.4, 명령줄 활성화 구성 file

    1.4.1, 명령줄 활성화 구성 파일

    java -jar springboot-0.0.1-SNAPSHOT.jar--spring.profiles.active=dev

    1.4.2, 가상 머신 매개변수 활성화

    java -Dspring.profiles.active=dev -jar springboot- 0.0.1-SNAPSHOT.jar

    2. 기본 구성 파일
    • Spring Boot가 시작되면 다음에서 application.properties 또는 apllication.yml 파일을 검색합니다. 5개의 위치를 ​​지정하고 이를 Spring 부팅의 기본 구성 파일로 사용합니다.

    • 파일:./config/"/

    • 파일:/config/

    • 파일:./

    • classpath:/config/

    classpath:/

    2.1 , file

      java -jar xxxx.jar --spring.config.location=外部文件
    2.2, classpath

    는 현재 프로젝트의 클래스 경로, 즉 리소스 디렉터리를 의미합니다.
    • 참고: 같은 위치에 있는

    • application.properties는 application.yml보다 우선순위가 높습니다.

      • all. 해당 위치의 파일이 로드되고 우선 순위가 높은 구성이 낮은 우선 순위 구성을 덮어써 보완적인 구성을 형성합니다. 즉,
      • 동일한 구성 콘텐츠가 존재하는 경우 우선순위가 높은 콘텐츠는 낮은 우선순위의 콘텐츠를 덮어씁니다.

      다른 구성 콘텐츠가 있는 경우 우선순위가 높은 구성 콘텐츠와 우선순위가 낮은 구성 콘텐츠가 결합됩니다.

    3. 외부 구성 파일

    수 있습니다. 외부 구성 파일의 경로를 지정합니다(기본 구성 파일은 유효하지 않습니다).

    3.1, spring.config.location

     java -jar xxxx.jar --spring.config.additional-location=外部文件
    案例
    3.2, spring.config.additional-location

    기본 구성 파일은 공개이며 우선순위입니다.

    rrreee

    4. 구성 파일 우선 순위
    • 다음은 일반적으로 사용되는 Spring Boot 구성 형식 및 해당 로드 순서(높은 우선 순위에서 낮은 우선 순위)

    • 명령줄 매개 변수

    • YAML 파일, 속성 파일)

    • @Configuration 주석 클래스에 지정된 @PropertySource 구성 파일

    SpringApplication.setDefaultProperties에 의해 지정된 기본 속성

    Java Spring Boot에서 다중 환경 구성 파일의 우선순위와 방법은 무엇입니까? 구성 파일

    🎜🎜🎜

    위 내용은 Java Spring Boot에서 다중 환경 구성 파일의 우선순위와 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제