0%

Spring Boot-外部化配置

Spring Boot可以在不同的环境下根据不同的配置文件使用相同的应用,可以使用propertiesYAML环境变量命令行参数进行外部化配置。

顺序

Spring Boot获取配置文有先后顺序,主要是

  • 命令行参数
  • Java系统变量
  • 系统环境变量
  • Jar包外指定profile的配置文件application-{profile}.yml/properties
  • Jar包内指定profile的配置文件application-{profile}.yml/properties
  • Jar包外普通的配置文件application.yml/properties
  • Jar包内普通的配置文件application.yml/properties

外部配置优先级

  • jar包目录的config目录下
  • jar包目录下
  • classpath的config目录下
  • classpath的根目录下

指定配置文件名\路径

如果使用其他配置文件名或路径,需要添加后缀

配置文件名

1
--spring.config.name=myproject

配置文件路径

1
--spring.config.location=config/default.properties

乱码

Springboot默认ISO-8859-1 **编码读取properties**文件,使中文经常会出现乱码

解决

  • 手动配置properties文件的编码方式为UTF-8
  • 使用yml配置文件代替properties配置文件