【springboot入门之YAML使用】

YAML(YAML Ain’t Markup Language)是一种用于配置文件的格式,它支持多种数据类型,易于人类阅读和编写。以下是YAML中常见的数据类型及其使用说明:

  1. 字符串
name: John Doe

Java代码

public class YamlExample {public static void main(String[] args) {Yaml yaml = new Yaml();String yamlContent = "name: John Doe";Map<String, Object> data = yaml.load(yamlContent);System.out.println("Name: " + data.get("name"));}
}

输出

Name: John Doe
  1. 列表(List)
fruits:- apple- banana- cherry

java 代码

public class YamlExample {public static void main(String[] args) {Yaml yaml = new Yaml();String yamlContent = "fruits:\n  - apple\n  - banana\n  - cherry";Map<String, List<String>> data = yaml.load(yamlContent);List<String> fruits = data.get("fruits");System.out.println("Fruits:");for (String fruit : fruits) {System.out.println("- " + fruit);}}
}

输出

Fruits:
- apple
- banana
- cherry
  1. Map
person:name: John Doeage: 28

java 代码

public class YamlExample {public static void main(String[] args) {Yaml yaml = new Yaml();String yamlContent = "person:\n  name: John Doe\n  age: 28";Map<String, Map<String, Object>> data = yaml.load(yamlContent);Map<String, Object> person = data.get("person");System.out.println("Name: " + person.get("name"));System.out.println("Age: " + person.get("age"));}
}

输出

Name: John Doe
Age: 28
  1. 复合结构
people:- name: John Doeage: 28- name: Jane Doeage: 25

java代码

public class YamlExample {public static void main(String[] args) {Yaml yaml = new Yaml();String yamlContent = "people:\n  - name: John Doe\n    age: 28\n  - name: Jane Doe\n    age: 25";Map<String, List<Map<String, Object>>> data = yaml.load(yamlContent);List<Map<String, Object>> people = data.get("people");for (Map<String, Object> person : people) {System.out.println("Name: " + person.get("name"));System.out.println("Age: " + person.get("age"));}}
}

输出

Name: John Doe
Age: 28
Name: Jane Doe
Age: 25
  1. 注释
# This is a comment
name: John Doe  # Inline comment
  1. 多行字符串
block_style: |Line 1Line 2Line 3flow_style: >Line 1Line 2Line 3

java代码

public class YamlExample {public static void main(String[] args) {Yaml yaml = new Yaml();String yamlContent = "block_style: |\n  Line 1\n  Line 2\n  Line 3\n" +"flow_style: >\n  Line 1\n  Line 2\n  Line 3";Map<String, Object> data = yaml.load(yamlContent);System.out.println("Block Style:\n" + data.get("block_style"));System.out.println("Flow Style:\n" + data.get("flow_style"));}
}

输出

Block Style:
Line 1
Line 2
Line 3
Flow Style:
Line 1
Line 2
Line 3
  1. 布尔和Null的简写
is_active: true
middle_name: null

java代码

public class YamlExample {public static void main(String[] args) {Yaml yaml = new Yaml();String yamlContent = "is_active: true\nmiddle_name: null";Map<String, Object> data = yaml.load(yamlContent);System.out.println("Is Active: " + data.get("is_active"));System.out.println("Middle Name: " + data.get("middle_name"));}
}

输出

Is Active: true
Middle Name: null
  1. 锚点和别名
defaults: &defaultsadapter: postgresdatabase: railsdevelopment:database: dev_db<<: *defaults

java代码

public class YamlExample {public static void main(String[] args) {Yaml yaml = new Yaml();String yamlContent = "defaults: &defaults\n  adapter: postgres\n  database: rails\n" +"development:\n  database: dev_db\n  <<: *defaults";Map<String, Object> data = yaml.load(yamlContent);Map<String, Object> defaults = (Map<String, Object>) data.get("defaults");Map<String, Object> development = (Map<String, Object>) data.get("development");System.out.println("Defaults Adapter: " + defaults.get("adapter"));System.out.println("Defaults Database: " + defaults.get("database"));System.out.println("Development Database: " + development.get("database"));System.out.println("Development Adapter: " + development.get("adapter"));}
}

输出

Defaults Adapter: postgres
Defaults Database: rails
Development Database: dev_db
Development Adapter: postgres
  1. 合并多个键
defaults: &defaultsadapter: postgresdatabase: rails
person:name: John Doe<<: *defaults

java代码

public class YamlExample {public static void main(String[] args) {Yaml yaml = new Yaml();String yamlContent = "defaults: &defaults\n  adapter: postgres\n  database: rails\n" +"person:\n  name: John Doe\n  <<: *defaults";Map<String, Object> data = yaml.load(yamlContent);Map<String, Object> person = (Map<String, Object>) data.get("person");System.out.println("Name: " + person.get("name"));System.out.println("Adapter: " + person.get("adapter"));System.out.println("Database: " + person.get("database"));}
}

输出

Name: John Doe
Adapter: postgres
Database: rails

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1559536.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

深度学习笔记(持续更新)

注&#xff1a;本文所有深度学习内容都是基于PyTorch&#xff0c;PyTorch作为一个开源的深度学习框架&#xff0c;具有可以动态计算图、拥有简洁易用的API、支持GPU加速等特点&#xff0c;在计算机视觉、自然语言处理、强化学习等方面有广泛应用。 使用matplotlib绘图&#xff…

Python | Leetcode Python题解之第468题验证IP地址

题目&#xff1a; 题解&#xff1a; class Solution:def validIPAddress(self, queryIP: str) -> str:if queryIP.find(".") ! -1:# IPv4last -1for i in range(4):cur (len(queryIP) if i 3 else queryIP.find(".", last 1))if cur -1:return &q…

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-10

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-10 1. Characterizing and Efficiently Accelerating Multimodal Generation Model Inference Y Lee, A Sun, B Hosmer, B Acun, C Balioglu, C Wang… - arXiv preprint arXiv …, 2024 https://arxiv.org/pdf…

如何使用Colly库进行大规模数据抓取?

在互联网时代&#xff0c;数据的价值日益凸显&#xff0c;大规模数据抓取成为获取信息的重要手段。Go语言因其高效的并发处理能力&#xff0c;成为编写大规模爬虫的首选语言。Colly库作为Go语言中一个轻量级且功能强大的爬虫框架&#xff0c;能够满足大规模数据抓取的需求。本文…

C语言 | Leetcode C语言题解之第467题环绕字符串中唯一的子字符串

题目&#xff1a; 题解&#xff1a; #define MAX(a, b) ((a) > (b) ? (a) : (b))int findSubstringInWraproundString(char * p) {int dp[26];int len strlen(p);memset(dp, 0, sizeof(dp));int k 0;for (int i 0; i < len; i) {if (i && (p[i] - p[i - 1] …

动态线程池设计与实现

为什么要有动态线程池 ThreadPoolExecutor 核心线程参数对某些业务不知到设置多少合适调整参数需要重新启动服务没有告警功能 设计思路 流程设计 库表抽象 更新操作流程图 代码实现 GitCode - 全球开发者的开源社区,开源代码托管平台

太阳诱电电感选型方法及产品介绍

功率电感在电子电路中被广泛应用&#xff0c;太阳诱电的功率电感从原材料开始进行研发&#xff0c;生产和销售。 本次研讨会将带领大家更加了解功率电感的选型方法&#xff0c;以及各种功率电感的种类和特征。 此外&#xff0c;也将介绍太阳诱电的最新产品阵容。本次研讨会预计…

python之详解集合

一种无序且不重复的数据容器&#xff0c;集合用大括号{}表示。 1、集合的查找访问 集合是不能通过 集合名[index] 这种方式访问的&#xff0c;其作用在于快速读取&#xff0c;而不是针对某个元素。 但&#xff0c;可将集合转为列表&#xff0c;再由列表访问元素。不过&#…

Spring Boot 进阶-实战Spring Boot整合Swagger3.0

说到Swagger有人会问Swagger到底是什么?作为一个后端开发人员来讲,为什么要使用Swagger呢?因为我们现在完成的项目大多数情况下都是前后端分离的项目,而对于前端开发人员来讲,他们需要调用接口,才能获取到对应的数据。那么这个接口如何获取,总不能是后端开发人员弄好之后…

xianshan分支预测单元基础与top层介绍

xianshan分支预测单元基础与top层接口介绍 2 xianshan BPU分支预测器总体架构2.1 分支预测器块思想2.2 多预测器2.3 多流水线2.4 取值目标队列--FTQ2.4.1 BPU预测结果内部重定向2.4.2 FTQ2BPU 重定向请求2.4.4 BPU的update请求 2.5 总结 在这里重点介绍xianshan分支预测单元BPU…

数学建模算法与应用 第8章 时间序列分析

目录 8.1 确定性时间序列分析方法 Matlab代码示例&#xff1a;移动平均法提取趋势 8.2 平稳时间序列模型 Matlab代码示例&#xff1a;差分法与ADF检验 8.3 时间序列的Matlab相关工具箱及命令 Matlab代码示例&#xff1a;ARIMA模型的建立 8.4 ARIMA序列与季节性序列 Matl…

开发环境搭建之NVM管理NODE安装

由于项目繁多前端node环境代码不统一、所以安装切换不同版本node、所以在此记录一下安装过程&#xff1a; 下载NVM工具 nvm zip github下载安装包 简单粗暴一看就会、直接从官网下载zip安装包、然后执行命令安装所需node版本即可 下载之后直接安装&#xff1a; 安装完成之…

linux执行脚本的时候为什么要写成 ./脚本名 而不是用脚本名直接执行

原因&#xff1a; 一定要写成 ./test.sh&#xff0c;而不是 test.sh&#xff0c;运行其它二进制的程序也一样&#xff0c;直接写 test.sh&#xff0c;linux 系统会去 PATH 里寻找有没有叫 test.sh 的&#xff0c;而只有 /bin, /sbin, /usr/bin&#xff0c;/usr/sbin 等在 PATH…

查询v$asm_disk等待enq: DD - contention

1.两个节点查询v$asm_disk均卡住&#xff0c;等待enq: DD - contention&#xff0c;阻塞源头为rbal进程&#xff0c;rbal进程未发生阻塞&#xff0c;未在异常等待事件上。 2.阻塞源头RBAL&#xff0c;在CPU上运行。没有在做rebalance磁盘平衡。 3.diag诊断日志中&#xff0c;阻…

python实现3D立柱图demo

import matplotlib.pyplot as plt import numpy as np plt.rcParams["font.sans-serif"] ["SimHei"] # 设置字体 plt.rcParams["axes.unicode_minus"] False # 该语句解决图像中的“-”负号的乱码问题# 数据 regions [东北, 中南, 华东, 华…

飞腾CPU技术发展分析

飞腾CPU剖析 CPU&#xff1a;信创根基&#xff0c;国之重器 国产CPU市场呈现三大领军阵营&#xff1a;x86、ARM以及其他创新架构。鲲鹏与飞腾在ARM阵营中引领风潮&#xff0c;依托ARM技术授权研发高性能处理器&#xff1b;海光与兆芯则以x86架构为基石&#xff0c;深入挖掘其潜…

数学建模算法与应用 第7章 数理统计与方法

目录 7.1 参数估计与假设检验 Matlab代码示例&#xff1a;均值的假设检验 7.2 Bootstrap方法 Matlab代码示例&#xff1a;Bootstrap估计均值的置信区间 7.3 方差分析 Matlab代码示例&#xff1a;单因素方差分析 7.4 回归分析 Matlab代码示例&#xff1a;线性回归 7.5 基…

Registry私有仓库可视化

Docker Registry 是一个用于存储和分发 Docker 镜像的服务&#xff0c;它支持构建私有仓库来管理组织内部的应用程序和镜像。然而&#xff0c;默认的 Docker Registry 并没有提供图形界面&#xff0c;这使得管理镜像变得不太直观。为了方便管理和查看私有仓库中的镜像&#xff…

显卡 3090 vs v100

1.3090 Date: 2020 AmperePielines/ Cuda cores: 10496 2.V100 Date: 2018 VoltaPielines/ Cuda cores: 5129 3.结构 & Core比较: v100优点: v100功耗小v100较快的双精度(fp64)和混合精度(fp16fp32)pcie版的NVLink与2080ti完全一致 v100缺点: 不支持整数格式计算&…

机器学习笔记-2

文章目录 一、Linear model二、How to represent this function三、Function with unknown parameter四、ReLU总结、A fancy name 一、Linear model 线性模型过于简单&#xff0c;有很大限制&#xff0c;我们需要更多复杂模式 蓝色是线性模型&#xff0c;线性模型无法去表示…