一、配置文件
1、Spring Boot使用一个全局得到配置文件,有两种形式
-
application.properties
-
application.yml
2、作用:修改Spring Boot的自动配置的默认值,Spring Boot底层会自动帮我们配置好。
3、yml认识,全称(YAML Ain't Markup Language),是一个标记语言。
-
对比,以前的配置文件;大都使用xml格式的文件,现在yml配置文件比xml、json格式更适合做配置文件,简单方便。
-
如例:
yml格式
server:
port: 8090
xml格式
<server>
<port>8090</port>
</server>
二、yml语法
1、基本语法
-
yml文件中是以键值对的形式来进行一些手动需要的配置,格式如:key:(空格)value 即可,注意,这里面一定要带上空格。
-
每一层级关系,我们需要通过空格缩进来指引其属于哪一层级,只要左对齐的一列数据,都属于同一层级的。
如:
server:
port: 8090
error:
path:
2、属性值的配置敏感,需按规定配置
-
基本数值(数字、字符串、布尔值),这里包含字符串
a. 直接以key: value按照字面数值直接写;b. 字符串默认不需要加单双引号;
-
对象值、Map,还是以键值对存在
key: value,直接在对象的下一行写属性和值,需要注意
person:
name: xiaoming
age: 18
也可以行内写法,其实也还是键值对的衍生
person: {name: xiaoming,age: 18}
- 数组、List、Set
用“- 值”表示数组中的一个元素
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
网友评论