1つ、yaml
Springブートは、修正されたグローバル構成ファイルを使用します。/ resourcesまたは/ configディレクトリに配置されたapplication.xmlまたはapplication.yamlにすることができます。
- yaml:マークアップ言語であり、データ中心であり、xmlやjsonよりも構成ファイルに適しています
- XML構成の例:
<server>
<port> 8081</port>
</server>
- yml構成例:
server:
port: 8085
path: /hello
2.yaml書き込み
参照構文: https ://bitbucket.org/asomov/snakeyaml/wiki/Documentation#markdown-header-yamlsyntax
リテラル変数:単一の分割できない値(数値、文字列、ブール値、日付)
オブジェクト、マップ(キー:値キーと値のペア):
person:
name: tom
age: 18
personMap:
username: herry
age: 20
person:{name: tom,age: 18}
配列:リスト、セット
ainamals:
- dog
- cat
- snack
animals:[dog,cat,snack]
3、yamlテスト
1.構成ファイルプロセッサをインポートします。構成を書き込むときにプロンプトが表示されます
<!-- 导入文件处理器,配置文件进行绑定的时候,就会有提示-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
2.javaBean
public class Dog {
private String name;
private Integer age;
}
/**
* 将配置文件中的每一个值,映射到这个组件中
*@ConfigurationProperties: 此注解表示告诉sprigboot将本类中的
* 所有属性和配置文件中相关配置进行一一绑定
*prefix = "person" :配置文件中的哪个进行绑定
*@Component: 只有是容器中的组件才会作用
*
*/
@Component
@ConfigurationProperties(prefix = "person")
public class Person {
private String name;
private Integer age;
private Boolean boss;
private Date birthday;
private Map<String,Object> map;
private List<Object> list;
private Dog dog;
}
3.構成ファイルの挿入
application.yml
person:
name: tom
age: 17
boss: true
birthday: 2018/01/12
map:
k1: v1
k2: v2
list:
- cat
- fish
- dog
dog:
name: goodboy
age: 3
application.properties
#配置properties属性
# idea properties默认是utf-8
person.name=tim
person.age=16
person.boss=false
person.birthday=2014/11/23
person.map.k1=v1
person.map.k2=22
person.list=cat,dog,fish
person.dog.name=goodboy
person.dog.age=3
4.クラスをテストして開始し、コンソールが印刷するかどうかを確認します
/**
* Spring boot 单元测试
*
*/
@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringbootHelloworldQuickApplicationTests {
@Autowired
Person person;
@Test
public void contextLoads() {
System.out.println(person);
}
}
アイデアのプロパティ構成ファイルのデフォルトのutf-8が文字化けしている可能性があります
- 文法参照および検証アドレス:http ://www.yaml.org/ https://nodeca.github.io/js-yaml/
-
2、yaml構文仕様
1.yamlの基本的な文法
- インデントを使用して階層関係を示します
- インデント時にタブキーを使用することはできません。スペースのみを使用できます。階層を制御するためのスペース
- k :(スペース)v:キーと値のペアのペアを表します(スペースが存在する必要があります);
- 同じレベルの要素が左に配置されている限り、インデントされたスペースの数は重要ではありません。
- 大文字と小文字を区別
- k:v:文字通り直接書く
- 文字列:
一重引用符または二重引用符を黙って追加しない
"":二重引用符は文字列内の特殊文字をエスケープしません。特殊文字は独自の意味を表します。たとえば、「Li」Li Si \ n 20歳」出力:Li Siは20歳をラップします
'':一重引用符。特殊文字はエスケープされ、特殊文字は最終的には通常の文字列データになります。「Li」Li Si \ n 20年」出力:Li Si \ n20歳- ファイル:複数のファイルは---で区切られます
- オブジェクトはキーです:コロンで区切られた値
- キー値を区切るには、コロンの後にスペースを使用します
- インライン書き込み:
- -配列内の要素を表します
- 配列とオブジェクトおよび併用
- インライン書き込み