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

【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.mrgr.cn/news/46254.html

相关文章:

  • 非刚性点云配准 Non-rigid registration of two surfaces.SHREC 14 Human 数据集
  • 一键从想法到上线:Bolt.new重新定义全栈开发流程
  • ubuntu22.04的wayland协议修改掉,因为很多软件不支持
  • [vue/no-use-v-if-with-v-for] v-for 和 v-if 在同一个元素中的处理方法
  • Java中System类和RunTime类的Api
  • HTML5实现古典音乐网站源码模板1
  • 洞察AI趋势:智享AI直播,打造专属你的数字化直播AIGC系统!
  • 【JavaScript】事件 - 实现元素拖拽至画布
  • linux 禁用ipv6
  • Nacos 与 Eureka、Zookeeper 和 Consul 等其他注册中心的区别
  • WEB安全该学习哪些知识
  • 11、论文阅读:无监督夜间图像增强:层分解与光效抑制的结合
  • Qt C++设计模式->中介者模式
  • 带你了解linux:学习第十二课 linux 之 sort
  • 抓包工具检测手把手教学 - 某招聘网站
  • 详情说明HTTP/2和HTTP/3两者间的区别
  • python-读写Excel:openpyxl-(3)单元格样式设置
  • 第27周:Transformer实战:文本分类
  • Python(十)-面向过程,面向对象,类和对象
  • 测试NCU中srcnode_gpc、srcunit_l1、srcunit_tex之间的关系