YMLの概要
springbootに触れたときに特殊なプロファイル.ymlに遭遇しました.本稿ではymlについて簡単に紹介し、ymlを素早く入手します.
文書ディレクトリ一、YMLは何ですか 二、YMLの利点 三、YML文法 1.約束 .キー値関係 1)一般値(字面量) 2)日付 3)オブジェクト(属性と値)、Map(キー値ペア) 4)配列、list、set 5)配列オブジェクト、listオブジェクト、setオブジェクト 6)Javaコード例 3.文書ブロック 一、YMLは何ですか
YAML(YAML Aint Markup Language)はタグ言語であり、通常.ymlまたは.yamlを接尾辞とするファイルであり、直感的にコンピュータで認識できるデータシーケンス化フォーマットであり、人間に読みやすく、スクリプト言語と対話しやすく、YAMLライブラリをサポートする異なるプログラミング言語プログラムに導入され、プロファイルを書くための言語である.Java、C/C++、Ruby、Python、Perl、C#、PHPなどに使用できます.
二、YMLの長所 YAMLは読みやすいです. YAMLデータはプログラミング言語間で移植可能である. YAMLは、スマート言語のネイティブデータ構造にマッチします. YAMLは、汎用ツールをサポートするための一貫したモデルを有する. YAMLは片道処理をサポートしています. YAMLは表現力と拡張性を有する. YAMLは実現と使用が容易である.
三、YML文法
1.約束 k:vはキー値対関係を表し、コロンの後ろにスペース が必要である.は、スペースのインデントを使用して階層関係を表し、スペースの数は重要ではありません.左揃えのデータ列であれば、同じ階層の です.大文字小文字敏感 インデントではTabキーは使用できません.スペースのみ使用できます. は、Javaでは、JavaのlastNameプロパティのようなアルパカの名前または使用-アルパカの代わりに、JavaではlastNameプロパティ、ymlではlastNameまたはlast-nameを使用して正しくマッピングできることを示しています.
2.キー値関係
(Java言語を例にとると、他の言語は類似している)キーと値については主に以下の内容を表すかどうかを見る.通常の値(数値、文字列、ブール)、日付、オブジェクト、配列、コレクションなど.
1)普通値(字面量)
k:v:字面量直接書く;
文字列のデフォルトでは、単一引用符または二重あだ名を付ける必要はありません.
""":二重引用符;文字列の中の特殊な文字はエスケープされません.特殊文字は自分が表現したい意味になります
name:「zhangsan lisi」:出力;zhangsan改行lisi
'’:一重引用符;特殊文字がエスケープされ、特殊文字は最終的には普通の文字列データにすぎません
2)日付
3)オブジェクト(属性と値)、Map(キー値ペア)
オブジェクトのプロパティと値の関係を次の行に書きます.インデントに注意してください.
行内の書き方:
4)配列、リスト、set
配列内の要素を-値で表す
行内の書き方
5)配列オブジェクト、listオブジェクト、setオブジェクト
6)Javaコードの例
Javaコード(get,setメソッドを省略)
対応するyml
3.文書ブロック
テスト環境、プリプロダクション環境では、プロダクション環境は異なる構成を使用できます.1つのファイルに書きたい場合は、ymlはサポートされており、各ブロックは----で区切られています.
文書ディレクトリ
YAML(YAML Aint Markup Language)はタグ言語であり、通常.ymlまたは.yamlを接尾辞とするファイルであり、直感的にコンピュータで認識できるデータシーケンス化フォーマットであり、人間に読みやすく、スクリプト言語と対話しやすく、YAMLライブラリをサポートする異なるプログラミング言語プログラムに導入され、プロファイルを書くための言語である.Java、C/C++、Ruby、Python、Perl、C#、PHPなどに使用できます.
二、YMLの長所
三、YML文法
1.約束
2.キー値関係
(Java言語を例にとると、他の言語は類似している)キーと値については主に以下の内容を表すかどうかを見る.通常の値(数値、文字列、ブール)、日付、オブジェクト、配列、コレクションなど.
1)普通値(字面量)
k:v:字面量直接書く;
文字列のデフォルトでは、単一引用符または二重あだ名を付ける必要はありません.
""":二重引用符;文字列の中の特殊な文字はエスケープされません.特殊文字は自分が表現したい意味になります
name:「zhangsan lisi」:出力;zhangsan改行lisi
'’:一重引用符;特殊文字がエスケープされ、特殊文字は最終的には普通の文字列データにすぎません
name1: zhangsan
name2: 'zhangsan
lisi'
name3: "zhangsan
lisi"
age: 18
flag: true
2)日付
date: 2019/01/01
3)オブジェクト(属性と値)、Map(キー値ペア)
オブジェクトのプロパティと値の関係を次の行に書きます.インデントに注意してください.
people:
name: zhangsan
age: 20
行内の書き方:
people: {name:zhangsan,age: 20}
4)配列、リスト、set
配列内の要素を-値で表す
pets:
- dog
- pig
- cat
行内の書き方
pets: [dog,pig,cat]
5)配列オブジェクト、listオブジェクト、setオブジェクト
peoples:
- name: zhangsan
age: 22
- name: lisi
age: 20
- {name: wangwu,age: 18}
6)Javaコードの例
Javaコード(get,setメソッドを省略)
public class Person {
private String lastName;
private Integer age;
private Boolean boss;
private Date birth;
private Map<String,Object> maps;
private List<Dog> lists;
private Dog dog;
private String[] arr;
}
public class Dog {
private String name;
private Integer age;
}
対応するyml
person:
boss: false
maps:
k1: v1
k2: 14
lists:
- name: d1
age: 2
- name: d2
age: 3
- {name: d3,age: 4}
birth: 2017/12/15
dog:
name: p_dog
age: 15
age: 13
last-name:
arr: [s1,s2,s3]
3.文書ブロック
テスト環境、プリプロダクション環境では、プロダクション環境は異なる構成を使用できます.1つのファイルに書きたい場合は、ymlはサポートされており、各ブロックは----で区切られています.
server:
port: 8081
spring:
profiles:
active: prod #
---
server:
port: 8083
spring:
profiles: dev #
---
server:
port: 8084
spring:
profiles: prod #