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;@Overridepublic 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: helloage: 18#map 集合 map属性名: {key: k1,key2: k2} 格式为 属性名:空格{key:空格} map集合多个以逗号隔开map: {k1: v1,k2: v2}#list 集合 list属性名: {key: k1,key2: k2} 格式为 属性名:空格{key:空格} map集合多个以逗号隔开list:-list-zhangsandog:name: xiaogou1age: 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 {@AutowiredPerson person;@Testpublic void contextLoads() {System.out.println(person);}}