关于SpringBoot的多个配置文件问题

在配置文件编写的时候,文件名可以为application-{profile}.properties/yml,默认使用的是application.properties/yml的配置。

怎么使用激活指定的profile的配置文件:

在配置文件中可以直接指定为dev 当前访问的端口号为8089,yml文件可以在一个文件中支持多文档块

server:

  port: 8088

spring:

  profiles:

    active: dev

 

---

 

server:

  port: 8089

spring:

  profiles: dev

 

---

 

server:

  port: 8090

spring:

  profiles: prod

1. 通过配置文件中指定spring:profiles:active:dev

2. 命令行指定:

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

3. 虚拟机参数;

-Dspring.profiles.active=dev

配置文件的加载位置:

springBoot启动会扫描一下的位置中的application.properties的配置文件

-file:./config/(当前项目下的config文件夹(src同级目录)中的application.properties)

-file:./(同上)

-classpath:./config/(当前项目中resources资源文件夹下的config文件夹)

-classpath:./(同上)

优先级由高到低,高优先级的配置可以覆盖低优先级的配置,这四个配置文件是互补配置。

 

也可以通过spring.config.location指定配置文件的位置

项目打包好以后,我们可以使用命令行参数的形式,启动项目的时候来指定配置文件的新位置;指定配置文件和默认加载的这些配置文件共同起作用形成互补配置;

java -jar springboot-mybatis-0.0.1-SNAPSHOT.jar --spring.config.location=E:/application.properties

 

你可能感兴趣的:(learn)