前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Spring Boot 配置文件总结

Spring Boot 配置文件总结

作者头像
每周聚焦
发布2025-01-15 17:32:29
发布2025-01-15 17:32:29
15900
代码可运行
举报
运行总次数:0
代码可运行

前言

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

代码语言:javascript
代码运行次数:0
运行
复制
properties 代码解读复制代码key=value
first.second.third=value

示例:

  1. 定义属性:
代码语言:javascript
代码运行次数:0
运行
复制
properties 代码解读复制代码key=value
game.name=GTA5

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

  1. 定义 List:
代码语言:javascript
代码运行次数:0
运行
复制
properties 代码解读复制代码game.list=GTA5,NBA2K,AC

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

  1. 定义 Map:
代码语言:javascript
代码运行次数:0
运行
复制
properties 代码解读复制代码game.map.key1=value1
game.map.key2=value2

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

  1. 引用已定义的属性:
代码语言:javascript
代码运行次数:0
运行
复制
properties 代码解读复制代码game.name=GTA5
# 引用上面已定义的属性
great.game=${game.name}

yml (yaml)

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

代码语言:javascript
代码运行次数:0
运行
复制
yaml 代码解读复制代码key: value
first:
  second:
    third: value

示例:

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

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

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

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

application-dev.yml

代码语言:javascript
代码运行次数:0
运行
复制
yaml 代码解读复制代码server:
  port: 4790

application-test.yml

代码语言:javascript
代码运行次数:0
运行
复制
yaml 代码解读复制代码server:
  port: 4791

application-prod.yml

代码语言:javascript
代码运行次数:0
运行
复制
yaml 代码解读复制代码server:
  port: 4792

spring.profiles.active

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

代码语言:javascript
代码运行次数:0
运行
复制
yaml 代码解读复制代码# 指定使用 application-dev.yml 这个配置文件
spring:
  profiles:
    active: dev

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

代码语言:javascript
代码运行次数:0
运行
复制
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 ''

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

代码语言:javascript
代码运行次数:0
运行
复制
yaml 代码解读复制代码# 指定使用 application-test.yml 这个配置文件
spring:
  profiles:
    active: test

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

代码语言:javascript
代码运行次数:0
运行
复制
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 ''

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

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 不同后缀不同写法
    • properties
    • yml (yaml)
  • 不同环境下切换不同的配置文件
    • spring.profiles.active
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档