当前位置: 首页 > news >正文

SpringBoot3中ymal配置文件(持续更新)

  • 博客主页:音符犹如代码
  • 系列专栏:JavaWeb
  • 关注博主,后期持续更新系列文章
  • 如果有错误感谢请大家批评指出,及时修改
  • 感谢大家点赞👍收藏⭐评论✍

在SpringBoot项目中,使用application.properties进行配置管理时,随着配置项增多,文件会变的难以阅读和修改,层次结构不直观,这样会影响配置项的维护

YAML

YAML,全称"YAML Ain't a Markup Language"(YAML不是一种标记语言),其初始含义为"Yet Another Markup Language"(另一种标记语言)。其设计初衷如下:

  • 语法简洁,便于理解和编辑。
  • 通过缩进明确展示配置项的层级关系,非常适合作为配置文件。
  • 通常使用.yaml.yml作为文件后缀。

基本语法:

  1. 键名区分大小写
  2. 通过缩进表示层级,格式为键值对,键与值之间使用空格分隔

支持的数据结构:

  1. 键值对的集合,如映射(map)、哈希(hash)、字典(dictionary)。
  2. 有序排列的值集合,如序列(sequence)、列表(list)。
  3. 单一、不可再分的值,如字符串、数字、布尔值、日期。

Java类代码定义:

import org.springframework.boot.context.properties.ConfigurationProperties;  
import org.springframework.stereotype.Component;  
import lombok.Data;  import java.util.Date;  
import java.util.List;  
import java.util.Map;  @Component  
@ConfigurationProperties(prefix = "user")  
@Data  
public class UserProperties {  private String username;  private Integer age;  private Date birthdate;  private Boolean isActive;  private Address address;  private List<Pet> pets;  private Map<String, Hobby> hobbies;  
}  @Data  
public class Pet {  private String name;  private String type;  
}  @Data  
public class Address {  private String street;  private String city;  private String zipcode;  
}  @Data  
public class Hobby {  private String name;  private Integer years;  
}

application.properties配置:

user.username=john_doe  
user.age=30  
user.birthdate=1990-01-01T00:00:00  
user.isActive=true  user.address.street=123 Main St  
user.address.city=Springfield  
user.address.zipcode=12345  user.pets[0].name=Buddy  
user.pets[0].type=Dog  
user.pets[1].name=Whiskers  
user.pets[1].type=Cat  user.hobbies.hobby1.name=Reading  
user.hobbies.hobby1.years=5  
user.hobbies.hobby2.name=Hiking  
user.hobbies.hobby2.years=2

YAML配置(application.yaml):

user:  username: john_doe  age: 30  birthdate: 1990/01/01 00:00:00  isActive: true  address:  street: 123 Main St  city: Springfield  zipcode: 12345  pets:  - name: Buddy  type: Dog  - name: Whiskers  type: Cat  hobbies:  hobby1:  name: Reading  years: 5  hobby2:  name: Hiking  years: 2

http://www.lryc.cn/news/446657.html

相关文章:

  • Linux 基础IO 2
  • 图像预处理 图像去噪之常见的去噪方法
  • 代码随想录Day53|102.沉没孤岛 、103.水流问题 、104.建造最大岛屿
  • 19c-pfile
  • 智能软件开启精准品牌控价
  • OpenCV特征检测(8)检测图像中圆形的函数HoughCircles()的使用
  • spark 大表与大表join时的Shuffle机制和过程
  • 大厂面试真题:简单说下Redis的bigkey
  • 18 vue3之自动引入ref插件深入使用v-model
  • 【Spring】lombok、dbUtil插件应用
  • 【学习笔记】WSL
  • python assert 断言用法
  • MySQL事务、索引、数据恢复和备份
  • 什么是chatgpt?国内有哪些类gpt模型?
  • ISP基本框架及算法介绍 ISP(Image Signal Processor)
  • Stable Diffusion 的 ControlNet 主要用途
  • 矩阵分析 学习笔记4 内积与Gram矩阵
  • iOS 消息机制详解
  • 深入理解Spring Data JPA与接口编程
  • Wireshark学习使用记录
  • OpenCV特征检测(9)检测图像中直线的函数HoughLines()的使用
  • 力扣 中等 445.两数相加 II
  • 华为云徐峰:AI赋能应用现代化,加速软件生产力跃升
  • C发送邮件技巧:如何批量发送个性化邮件?
  • 基于python+spark的外卖餐饮数据分析系统设计与实现(含论文)-Spark毕业设计选题推荐
  • 权限维持——Linux
  • 申请SSL证书闭坑方法
  • linux 下域名解析错误
  • 基于单片机的角度、水位、温度、辅助热源、电机仿真
  • 泛函分析精解【1】