获取配置文件值注入(Yml):
配置文件 :
#字面值:普通的值(数字,字符串,布尔)
#k : v :字面直接来写
#"" : 双引号中的特殊字符不会被转义:特殊字符会作为原本想表达的意思
#如: name : "zhangsan \n lisi" :输出:zhangsan 换行 李四
#'': 单引号:会转移特殊字符,特殊字符最终只能是一个普通的字符串
#如:name:'zhangsan \n lisi':zhangsan \n lisi
#对象、map(属性和值)(键值对):
# k : v : 在下一行写对象的属性和值的关系,注意缩进
# 对象还是 k :v 的方式
# friends:
# lastName : zhangsan
# age : 20
#
# 行内写法:
# friends: {lastName : zhangsan , age : 20}
#
# 数组(List、set)
# 用-值表示数据中的一个元素
# pets:
# - cat
# - Dog
# - pig
#
# 行内写法:
# pets : [cat,Dog,pig]
#
server:
port: 8081
servlet:
context-path: /spring-boot
person:
lastName: zhangsan
age: 18
boss: false
birth: 2017/12/12
maps: {k1: v1, k2: 12}
list:
- lisi
- zhangsan
dog:
name: 小狗
age: 2
--------------------------------------------------------------------
javaBean:
/**
* 将配置文件中配置的每一个属性映射到person中
* @ConfigurationProperties : 告诉SpringBoot将本类中所有属性和配置文件进行绑定;
* prefix = "person" 配置文件中哪个下面的所有属性进行一一映射
*
* 只有这个组件是容器中的组件才能使用容器提供的功能:
*/
@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> list;
private Dog dog;
可以导入配置文件处理器,以后编写配置就有提示了。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>