目录
三、@ConfigurationProperties读取配置文件
配置文件的后缀可以是yaml或者yml,写法类似于键值形式
一、自定义配置数据
这些数据都是自己自定义的,自己取名的
(1)配置简单数据
语法: 数据名:值 (注意冒号后面加空格) 举例: email: ioio
(2)配置对象数据
对象: 属性名1:值1 属性名2:值2 举例: my: address: sd school: op
(3)配置集合数据
集合: -值1 -值2 举例: -后面要加空格 you: - beijing - anhui - tainjin list1: - name: zhangsan age: 18 sex: male - name: lisi age: 20 sex: fmale - name: wangwu age: 19 sex: male
二、@Value读取配置文件
@Value只能映射简单数据类型,不能将yml配置文件中的对象,集合映射到属性中去。
@Controller public class controller { @Value("${my.school}") private String school; @Value("${you[1]}") private String ci; @Value("${list1[1].name}") private String list_name; @ResponseBody @RequestMapping("/c") public String v1(){ System.out.print(school+" "+ci+" "+list_name); return "hello springt"; } }
yml配置文件
my: address: sd school: op you: - beijing - anhui - tainjin list1: - name: zhangsan age: 18 sex: male - name: lisi age: 20 sex: fmale - name: wangwu age: 19 sex: male
三、@ConfigurationProperties读取配置文件
通过@ConfigurationProperties(prefifx="对象")可以将配置文件中的配置自动与实体映射,这样就可以将yml文件中配置的对象属性直接映射到Bean中。
说的简单点,比如配置文件写的如下:
user: username: lisi age: 88 address: - beijing - anhui - tianjing grades: - subject: math score: 90 - subject: english score: 88
@Controller @ConfigurationProperties(prefix = "user") public class MyController1 { private String username; private int age; private List<String> address; private List<grade> grades; @ResponseBody @RequestMapping("/con") public String t1(){ System.out.println(username); System.out.println(age); System.out.println(address); System.out.println(grades); return "sp"; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public List<String> getAddress() { return address; } public void setAddress(List<String> address) { this.address = address; } public List<grade> getGrades() { return grades; } public void setGrades(List<grade> grades) { this.grades = grades; } }