Spring boot yml文件的书写格式
使用ide 创建好spring boot文件格式后https://blog.csdn.net/weixin_42292697/article/details/93479876
再resources 目录下 创建了application.yml 的文件名
文件名不需要改动,改动Spring boot 会不识别 而导致出现错误
创建一个Person 类与Dog 类
/**
* @program: spring-boot-01-hello
* @description: 测试Springboot Yaml
* @author: Mr.Wang
* @create: 2019-06-26 13:28
* 将配置文件中的每一个属性,映射到这个组件中
* ConfigurationProperties 告诉Spring boot 将本类中的所有属性,与配置文件中相关的配置进行绑定:
* prefix = "person" 告诉配置文件中哪个下面的属性进行一一映射
*
* 只有是Spring 容器的组件才能提供容器的ConfigurationProperties 功能
**/
@Component
@ConfigurationProperties(prefix = "person")
public class Person {
private String lastName;
private Integer age;
private Map<String,Object> map;
private List<Object> list;
private Dog dog;
@Override
public String toString() {
return "Person{" +
"lastName='" + lastName + '\'' +
", age=" + age +
", map=" + map +
", list=" + list +
", dog=" + dog +
'}';
}
}
public class Dog {
private String name;
private Integer age;
}
get/set +toString()方法省略
在yaml 格式书写 普通 对象以及 map list
server:
port: 8081
#普通对象 map list
#YAML有以下基本规则:
#1、大小写敏感
#2、使用缩进表示层级关系
#3、禁止使用tab缩进,只能使用空格键
#4、缩进长度没有限制,只要元素对齐就表示这些元素属于一个层级。
#5、使用#表示注释
#6、字符串可以不用引号标注
person:
lastName: hello
age: 18
#map 集合 map属性名: {key: k1,key2: k2} 格式为 属性名:空格{key:空格} map集合多个以逗号隔开
map: {k1: v1,k2: v2}
#list 集合 list属性名: {key: k1,key2: k2} 格式为 属性名:空格{key:空格} map集合多个以逗号隔开
list:
-list
-zhangsan
dog:
name: xiaogou1
age: 10
自动映射文件处理器还需要导入maven 资源
<!--springboot 自动映射其 导入配置文件处理器,配置文件进行绑定就会有提示-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
启动一下spring boot 查看配置是否有错误,如果没有错误,直接进行测试
spring boot 有一个专门测试的单元测试类在test 包下,代码如下:
/**
* Spring boot 单元测试
* 可以再测试期间很方便的类似像编码一样的自动注入到容器
*/
@RunWith(SpringRunner.class)//声明使用Spring 的驱动来跑, 而不是junit 单元测试
@SpringBootTest//表示这是一个SpringBoot单元测试
public class SpringBoot01HelloApplicationTests {
@Autowired
Person person;
@Test
public void contextLoads() {
System.out.println(person);
}
}