SpringBoot配置文件详解
spring boot使用一个全局的配置文件
- application.properties
- application.yml
配置文件放在src/main/java/resources目录或者类路径/config下,主要用yml写法。
yml语法
1.基本语法
k:(空格)v:(空格)表示一个键值对(空格必须有)
以空格的缩进来控制级层关系,只要左对齐的一系列数据,yml都会看成同一级别的
server: address: 8080
属性和值也是大小写敏感;
2.值的语法
字面量:普通的值(数字,字符串,布尔)
k:(空格)v 字面量的值
字符串默认不加单引号或双引号
双引号,不会转移字符串里的特殊字符;特殊字符会作为本身想表达的意思
name:(空格)“zhangsan \n lisi” 输出: zhangsan 换行 lisi
单引号 会转移字符串里的特殊字符;特殊字符不会作为本身想表达的意思
name:(空格)‘zhangsan \n lisi’ 输出: hangsan \n lisi
对象、map(值与属性)(键值对)
k:(空格)v 在下一行来写对象的属性和值的关系(注意缩进)
对象是以k:(空格)v的方式
friends:
lastname:(空格)zhangsan
age:(空格)20
行内写法
friends:(空格){lastname:(空格)zhangsan,age:(空格)20}
数组(list set)
用-(空格)值来表示数组中的一个元素
pests:
-(空格)cat
-(空格)dog
-(空格)pig
行内写法
pests:(空格)[cat,dog,pig]
先要加入依赖(重启生效):
<!--导入配置文件处理器,配置文件进行绑定才会有提示--> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-configuration-processor</artifactid> <optional>true</optional> </dependency>
application.yml文件写法(person小写)
person: lastname: zhangsan age: 18 boss: true birth: 1998/12/12 maps: k1: v1 k2: v2 lists: - lisi - zhangwu dog: name: 小虎 age: 2
person代码:
@component @configurationproperties(prefix = "person") public class person { private string lastname; private integer age; private boolean boss; private date brith; private map <string ,object> maps; private list<object> lists; private dog dog;
//setter和getter方法
dog代码:
public class dog { private string name; private integer age;
//setter和getter方法
tets方法:
@runwith(springrunner.class) @springboottest public class hellowordquickapplicationtests { @autowired person person; @test public void contextloads() { system.out.println(person); } }
运行结果为:(如果值位null,prefix = "person"重新写)
person{lastname='zhangsan', age=18, boss=true, brith=null, maps={k1=v1, k2=v2}, lists=[lisi, zhangwu], dog=dog{name='小虎', age=2}}
上一篇: MySQL完整性约束