一富蓄、配置文件
1钙姊、Spring Boot使用一個全局得到配置文件毅该,有兩種形式
application.properties
application.yml
2谆棺、作用:修改Spring Boot的自動配置的默認值,Spring Boot底層會自動幫我們配置好暂氯。
3潮模、yml認識,全稱(YAML Ain't Markup Language)痴施,是一個標記語言擎厢。
對比,以前的配置文件辣吃;大都使用xml格式的文件动遭,現(xiàn)在yml配置文件比xml、json格式更適合做配置文件神得,簡單方便厘惦。
如例:
yml格式
server:
port: 8090
xml格式
<server>
<port>8090</port>
</server>
二、yml語法
1哩簿、基本語法
yml文件中是以鍵值對的形式來進行一些手動需要的配置宵蕉,格式如:key:(空格)value 即可酝静,注意,這里面一定要帶上空格羡玛。
每一層級關系别智,我們需要通過空格縮進來指引其屬于哪一層級,只要左對齊的一列數(shù)據(jù)稼稿,都屬于同一層級的薄榛。
如:
server:
port: 8090
error:
path:
2、屬性值的配置敏感让歼,需按規(guī)定配置
-
基本數(shù)值(數(shù)字敞恋、字符串、布爾值)谋右,這里包含字符串
a. 直接以key: value按照字面數(shù)值直接寫耳舅;b. 字符串默認不需要加單雙引號;
對象值倚评、Map浦徊,還是以鍵值對存在
key: value,直接在對象的下一行寫屬性和值,需要注意
person:
name: xiaoming
age: 18
也可以行內寫法,其實也還是鍵值對的衍生
person: {name: xiaoming,age: 18}
- 數(shù)組天梧、List盔性、Set
用“- 值”表示數(shù)組中的一個元素
animals:
- dog
- cat
行內寫法
animals: [dog,cat]
三、從配置文件中獲取值
將配置文件中的值映射到組件中
yml配置文件
server:
port: 8090
person:
name: xiaoming
age: 18
student: false
birth: 2015/12/23
maps: {k1: v1,k2: v2}
lists:
- xiaoming
- xiaohong
cat:
name: xiaomi
age: 2
javaBean:
package com.example.springboot02.bean;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* 將配置文件中配置的每一個屬性的值映射到這個組件中
* @ConfigurationProperties:告訴SpringBoot將來類中的所有屬性和配置文件中相關的配置進行綁定呢岗,
* prefix = "person":配置文件中哪個下面的所有屬性進行映射
*
* 只有這個組件是容器中的組件冕香,才能使用容器提供的@ConfigurationProperties功能
*/
@Component//將這個組件放入容器中
@ConfigurationProperties(prefix = "person")
public class Person {
private String name;
private Integer age;
private Boolean student;
private Date birth;
private Map<String, Object> maps;
private List<Object> lists;
private Cat cat;
...
}
單元測試
@RunWith(SpringRunner.class)
@SpringBootTest//表示Spring Boot的一個單元測試
class Springboot02ApplicationTests {
@Autowired
Person person;
@Test
void contextLoads() {
System.out.println(person);
}
}
上一篇:Spring Boot ——@SpringBootApplication及其相關注解
下一篇: Spring Boot ——@ConfigurationProperties 、 @Value 后豫、 @PropertySources 悉尾、@Configuration 、@Bean and so on