Home > Java > javaTutorial > body text

What are the priorities and methods of multi-environment configuration files in Java Spring Boot?

PHPz
Release: 2023-04-22 23:28:06
forward
2565 people have browsed it

    Preface

    Question: How to separate the springboot project, development environment, test environment and production environment configuration files?

    Answer: Multiple profile file method

    1. Multiple environment configuration (profile)

    1.1. Properties file configuration

    application.properties: Main configuration file

    The main configuration file configuration determines which environment configuration file to load

      spring.profiles.active=dev
    Copy after login

    According to spring.profiles. active value, choose to load different environment configurations

    application-{profile}.properties
    Copy after login

    Development, test, and production environment configuration files:

    • application-dev.properties: development environment Configuration file

    • application-test.properties: Test environment configuration file

    • application-prod.properties: Production environment configuration file

    1.2. YML file configuration

    application.yml: Main configuration file
    Main configuration file configuration determines which environment configuration file to load

      spring:
          profiles:
              active:dev
    Copy after login

    According to the spring.profiles.active value, choose to load different environment configurations

    application-{profile}.yml
    Copy after login

    Development, test, and production environment configuration files:

    • application-dev.yml: Development environment configuration file

    • application-test.yml: Test environment configuration file

    • application-prod.yml: Production environment configuration file

    1.3. Modify the main configuration file and switch configuration

    1.3.1. Switch production configuration

    #默认配置
    server:
      port: 8080
    #切换配置
    spring:
      profiles:
        active: prod
    Copy after login

    1.3.2. Switch development configuration

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

    1.3.3. Switch test configuration

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

    1.4. Command line activation configuration file

    1.4.1. Command line activation configuration file

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

    1.4.2, Virtual machine parameter activation

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

    2, Default Configuration file

    When Spring Boot starts, it will scan the application.properties or apllication.yml files in the following five locations and use them as the default configuration file of Spring boot.

    • file:./config/"/

    • file:/config/

    • file :./

    • ##classpath:/config/

    • classpath:/

    2.1. file

    指当前项目根目录;
    Copy after login

    2.2, classpath

    refers to the class path of the current project, that is, the resources directory.

    Note:

    • is located in the same The location's application.properties has a higher priority than application.yml

    • Files in all locations will be loaded, and high-priority configurations will overwrite low-priority configurations to form complementary configurations, that is:

      • When the same configuration content exists, the high-priority content will overwrite the low-priority content;

      • There are different When configuring content, the high-priority and low-priority configuration content are combined.

    3. External configuration file

    You can specify an external configuration file The path (the default configuration file is invalid)

    3.1, spring.config.location

      java -jar xxxx.jar --spring.config.location=外部文件
    Copy after login

    3.2, spring.config.additional-location

    The default configuration file is publicly valid, and its The priority is the highest..

     java -jar xxxx.jar --spring.config.additional-location=外部文件
    案例
    Copy after login
    4. Configuration file priority

    The following are commonly used Spring Boot configuration forms and their loading order (priority from high to low)

    • Command line parameters

    • Configuration file (YAML file, Properties file)

    • @Configuration @ on the annotation class PropertySource Specified configuration file

    • Default properties specified by SpringApplication.setDefaultProperties

    Configuration file

    What are the priorities and methods of multi-environment configuration files in Java Spring Boot?

    The above is the detailed content of What are the priorities and methods of multi-environment configuration files in Java Spring Boot?. For more information, please follow other related articles on the PHP Chinese website!

    Related labels:
    source:yisu.com
    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    Popular Tutorials
    More>
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template