Spring Boot 配置文件总结

科技公元 后端 2025-01-15

Spring Boot 配置文件总结

前言

Spring Boot 中提供一个全局的配置文件:application.properties,这个配置文件的作用就是,允许我们通过这个配置文件去修改 Spring Boot 自动配置的默认值

Spring Boot 支持两种格式的配置文件:application.propertiesapplication.yml

yml 等同于 yaml,写法看个人喜欢,我喜欢写成 application.yml

不同后缀不同写法

application.propertiesapplication.yml ,它们的区别在于语法不同,但本质上是一样的。application.properties 使用键值对的方式来配置,而 application.yml 使用缩进和冒号的方式来配置。

properties

properties 作为后缀的配置文件,语法是这样的:key = value,如果有多级配置项,则是 first.second.third = value。properties

代码解读
复制代码
key=value first.second.third=value

示例:

  1. 定义属性:properties
代码解读
复制代码
key=value game.name=GTA5

这里的 keygame.name 都是属性名称,而 valueGTA5 是属性的

  1. 定义 List:properties
代码解读
复制代码
game.list=GTA5,NBA2K,AC

这里的 game.list 这个列表包含了 3 个元素。

  1. 定义 Map:properties
代码解读
复制代码
game.map.key1=value1 game.map.key2=value2

这里的 game.map 是一个 Map,这个 Map 包含了两个元素,key1 映射到 value1,key2 映射到 value2

  1. 引用已定义的属性:properties
代码解读
复制代码
game.name=GTA5 # 引用上面已定义的属性 great.game=${game.name}

yml (yaml)

yml 作为后缀的配置文件,语法是这样的:key: value。使用冒号代替等号,同时冒号后面需要跟上一个空格符,不可省略。yaml

代码解读
复制代码
key: value first: second: third: value

示例:

  1. 定义属性:yaml
代码解读
复制代码
key: value game: name: GTA5
  1. 定义 List:yaml
代码解读
复制代码
game: list: - GTA5 - NBA2K - AC
  1. 定义 Map:yaml
代码解读
复制代码
game: map: key1: value1 key2: value2
  1. 引用已定义的属性:yaml
代码解读
复制代码
game: name: GTA5 great: game: @{game.name}

不同环境下切换不同的配置文件

一般项目中在不同环境下都有不同的配置,还是以这个 Tomcat 的端口号为例:

目前有 3 个环境,分别是开发环境、测试环境、生产环境。在开发环境下,端口号是 4790;测试环境下,端口号是 4791;生产环境下是 4792。

application-dev.ymlyaml

代码解读
复制代码
server: port: 4790

application-test.ymlyaml

代码解读
复制代码
server: port: 4791

application-prod.ymlyaml

代码解读
复制代码
server: port: 4792

spring.profiles.active

现在,通过 spring.profiles.active 这个配置项,在 application.yml 中指定我们想要切换的配置文件,现在指定使用开发环境的配置文件:yaml

代码解读
复制代码
# 指定使用 application-dev.yml 这个配置文件 spring: profiles: active: dev

启动 Spring Boot 应用,控制台输出:console

代码解读
复制代码
2023-03-16 15:41:48.122 INFO 3356 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 4790 (http) with context path ''

指定使用测试环境下的配置文件:yaml

代码解读
复制代码
# 指定使用 application-test.yml 这个配置文件 spring: profiles: active: test

启动 Spring Boot 应用,控制台输出:console

代码解读
复制代码
2023-03-16 15:42:21.462 INFO 24548 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 4791 (http) with context path ''

同理,指定使用生产环境的配置文件也是一样的做法。

转载来源:https://juejin.cn/post/7233046023244103736

Apipost 私有化火热进行中

评论