springboot 配置文件的使用

本文标识 : Jsbt0005

本文编辑 : Jack 风

编程工具 : IDEA

阅读时长 : 6分钟

1、配置文件的使用

修改配置方式 1:srcmainresourcesapplication.properties

#修改端口号  server.port=5658  #端口号后需额外添加字符  server.servlet.context-path=/a2data
  • 访问:http://localhost:5658/a2data/hello
@RestController  public class HelloWorld {      @GetMapping("/hello")      public String say() {          return "HelloWorld!";      }  }

修改配置方式 2:srcmainresourcesapplication.yml

server:    port: 5658    servlet:      context-path: /a2data

个人比较喜欢 yml

2、切换配置文件

1、多配置文件

srcmainresourcesapplication-dev.yml

server:    port: 5658

srcmainresourcesapplication-prod.yml

server:    port: 8080

srcmainresourcesapplication.yml

  • 根据 active:来切换配置文件
spring:    profiles:      active: prod

2、单配置文件

  • 在单一文件中,可用连续三个连字号(—)区分多个文件。
  • 根据 active:来切换配置文件
server:    port: 5658  spring:    profiles: prod  ---  server:    port: 8080  spring:    profiles: dev  ---  spring:    profiles:      active: prod

3、激活指定 profile

1、在配置文件中指定 spring.profiles.active=dev

2、命令行:

java -jar ***.jar –spring.profiles.active=dev

可以直接在测试的时候,配置传入命令行参数

3、虚拟机参数,在 IDEA 或 Eclipse 中的 run configuration 中可以进行配置

-Dspring.profiles.active=dev

4、配置文件加载位置

springboot 启动后扫描以下位置的 application.properties 或者 application.yml 文件,

作为 Spring boot 的默认配置文件

位置

说明

–file:./config/

项目目录下的 config

–file:./

项目目录下

–classpath:/config/

resources 目录下的 config

–classpath:/

resources 目录下

优先级由高到底,高优先级的配置会覆盖低优先级的配置;

SpringBoot 会从这四个位置全部加载主配置文件;互补配置

我们还可以通过 spring.config.location 来改变默认的配置文件位置

项目打包好以后,我们可以使用命令行参数的形式,启动项目的时候来指定配置文件的新位置;

指定配置文件和默认加载的这些配置文件共同起作用形成互补配置;

java -jar ***.jar –spring.config.location=E:/application.yml

从 spring 的运行日志中可以看到:

Loaded config file 'file:./config/application.yml' (file:./config/application.yml)  Loaded config file 'file:./application.yml' (file:./application.yml)  Loaded config file 'file:/C:/Users/Administrator/Desktop/demo3/target/classes/config/application.yml' (classpath:/config/application.yml)  Loaded config file 'file:/C:/Users/Administrator/Desktop/demo3/target/classes/application.yml' (classpath:/application.yml)

配置文件的加载顺序:

  • ./config/application.yml 项目目录下的 config 目录下的配置文件
  • ./application.yml 项目目录下的配置文件
  • classpath:/config/application.yml 资源路径下的 config 目录下的配置文件
  • classpath:/application.yml 资源路径下的配配置文件

总结:

  1. 先加载的优先级最高,后面的优先级低。
  2. 后面的配置文件中如果有不同的配置项,也会读取进来。