300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 04.spring boot配置文件--yml

04.spring boot配置文件--yml

时间:2022-03-06 01:51:40

相关推荐

04.spring boot配置文件--yml

Spring Boot配置文件

Spring Boot使用一个全局的配置文件,主要有一下两种:

application.propertiesapplication.yml

配置文件放在src/main/resources目录或者类路径config下

yml是YAML(YAML Ain’t Markup Language)语言的文件,以数据为中心,比json、xml等更适合做配置文件

/ 参考语法规范

全局配置文件可以对一些默认配置值进行修改

1、 新建application.yml配置文件

右键新建file:

2、小案例:修改默认端口号8080为8081

server:port: 8081

yml语法

1、基本语法

key:(空格)v:(空格)

表示一个键值对,空格必须要用以空格的缩进来控制级别关系,主要左对齐的一系列数据,yml都会看成同级别大小写敏感

2、值的语法

字面量:普通的值(数字,字符串,布尔值)

k:(空格)v:(字面量值)字符串:默认不用加单引号或双引号; “ ”:双引号,不会转义字符串里面的特殊字符;特殊字符会作为本身想表达的意思

例如:name: “zhangsan \n lisi” 输出:zhangsan 换行 lisi‘ ’:单引号,会转义其中的特殊字符的含义

例如:‘zhangsan \n lisi’ 输出:zhangsan \n lisi 对象、map(值与属性)(键值对):

k: v:在下一行来写对象的属性和值的关系(注意缩进)

对象还是以k:v的方式

例如:

friends:lastName:zhangsanage:20

行内写法:

friends:{lastName:zhangsan,age:20}

数组(list,set)

用- 值来表示数组中的一个元素

pests:- cat- dog- pig

行内写法:

pests:[cat,dog,pig]

3、获取yml配置文件的属性值

新建java bean Person和Dog

注意:需要自动注入到Spring容器中的类,要跟SpringBoot主配置类是同包下,或是主配置类所处包的子包下

/*** 将配置文件的每一个属性的值都映射到这个组件中* @ConfigurationProperties:告诉Spring Boot将本类中的属性和配置文件中的配置进行绑定* prefix="Person" :配置中的哪一个下面的所有属性进行映射* 只有这个组件是容器中的组件时才能提供,才能给容器提供ConfigurationProperties功能*/@Component@ConfigurationProperties(prefix="person")public class Person {private String lastName;private Integer age;private Boolean boss;private Date birth;private Map<String,Object> maps;private List<Object> lists;private Dog dog;public void setLastName(String lastName) {this.lastName = lastName;}public void setAge(Integer age) {this.age = age;}public void setBoss(Boolean boss) {this.boss = boss;}public void setBirth(Date birth) {this.birth = birth;}public void setMaps(Map<String, Object> maps) {this.maps = maps;}public void setLists(List<Object> lists) {this.lists = lists;}public void setDog(Dog dog) {this.dog = dog;}public String getLastName() {return lastName;}public Integer getAge() {return age;}public Boolean getBoss() {return boss;}public Date getBirth() {return birth;}public Map<String, Object> getMaps() {return maps;}public List<Object> getLists() {return lists;}public Dog getDog() {return dog;}@Overridepublic String toString() {return "Person{" +"lastName='" + lastName + '\'' +", age=" + age +", boss=" + boss +", birth=" + birth +", maps=" + maps +", lists=" + lists +", dog=" + dog +'}';}}

public class Dog {private String name;private Integer age;@Overridepublic String toString() {return "Dog{" +"name='" + name + '\'' +", age=" + age +'}';}public void setName(String name) {this.name = name;}public void setAge(Integer age) {this.age = age;}public String getName() {return name;}public Integer getAge() {return age;}}

给pom.xml添加依赖:

<!--导入配置文件处理器,配置文件绑定才有提示--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency>

编写Spring Boot单元测试:

/*** Spring Boot单元测试* 可以在测试期间很简单的把容器中的主键注入进来*/@RunWith(SpringRunner.class)@SpringBootTestpublic class DemoApplicationTests {@Autowiredprivate Person person;@Testpublic void contextLoads() {System.out.println(person);}}

重启applicaiton,运行测试类:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。