SpringBoot 03——YAML配置文件

本文深入探讨了YAML的语法特点,包括其简洁的数据表示、大小写敏感性、键值对、数组和纯量的定义。同时,还介绍了如何使用注释和参数引用。通过实例解析,展示了YAML在数据存储和配置文件中的高效应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

特点
简洁,以数据为核心

基本语法

  • 大小写敏感
  • 数据值前必须有空格,作为分隔符,空格数量≥1即可
  • 使用缩进表示层级关系(缩进空格数相同表示同一层级)
  • 缩进时不允许使用Tab键,只允许使用空格(各个系统Tab对应的空格数目可能不同,导致层次混乱)
  • 缩进的空格数不重要,只要相同层级的元素左侧对齐即可
  • 表示注释

数据格式

  • 对象(map):键值对的集合
person:
  name: zhangsan
# 行内写法
person: {name: zhangsan}
  • 数组:一组按次序排列的值
address:
 - beijing
 - shanghai
# 行内写法
address: [beijing,shanghai]  
  • 纯量:单个的、不可再分的值(常量)
message1: 'hello \n world' # 单引忽略转移字符
message2: "hello \n world" # 双引识别转移字符
  • 参数引用
name: zhangsan
person: ${name}
### 关于Spring BootYAML文件的使用方法 #### YAML配置文件基础 在Spring Boot项目里,`application.yml` 文件用于定义应用程序的各种配置参数。相较于传统的 `properties` 文件格式,YAML 提供了一种更简洁的方式来表示层次化的数据结构[^2]。 #### 属性赋值方式 通过YAML配置文件可以方便地给属性赋值,在配置文件中的键值对会映射到相应的Java Bean属性上。例如: ```yaml server: port: 8081 spring: application: name: example-app ``` 上述配置将会把服务端口设置为8081,并且应用名称设为example-app。 #### 松散绑定特性 支持松散匹配规则意味着即使配置项的名字不完全一致也可以成功注入对应的Bean属性。比如对于名为`my.property.name` 的配置项,可以通过如下形式访问:`@Value("${myProperty}")`, `${MY_PROPERTY}`, 或者`${My.Property}` 等不同风格的形式来获取其值。 #### 数据验证功能 当从外部源加载配置时,能够利用JSR-303 (Bean Validation API) 对这些输入的数据进行有效性检验。只需简单添加合适的约束注解即可实现这一目的,如 `@NotNull`, `@Size(min=, max=)` 等等。 #### 多环境配置管理 为了适应不同的部署场景,可以在同一项目的根路径下创建多个特定环境下使用的配置文件,像 `application-dev.yml`, `application-prod.yml` 这样命名。启动时可通过指定激活profile的方式选择要读取哪个版本的配置文件。 #### 继承与覆盖机制 借助特殊的语法糖——锚点(`&`) 和别名 (`*`) ,可轻松完成重复部分的一次性声明并应用于其他地方;同时允许子节点继承父级设定的同时又能自定义某些字段的内容。具体实例可见下面代码片段所示[^3]: ```yaml defaults: &defaults adapter: postgresql host: localhost development: << : *defaults database: dev_db test: << : *defaults database: test_db ``` 以上就是有关如何在Spring Boot项目中运用和调整YAML文件的相关指导说明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值