目录
一、自定义配置数据
(1)配置简单数据
(2)配置对象数据
(3)配置集合数据
二、@Value读取配置文件
三、@ConfigurationProperties读取配置文件
配置文件的后缀可以是yaml或者yml,写法类似于键值形式
一、自定义配置数据
这些数据都是自己自定义的,自己取名的
(1)配置简单数据
语法: 数据名:值(注意冒号后面加空格) 举例:email: ioio
(2)配置对象数据
对象:属性名1:值1属性名2:值2举例:my:address: sdschool: op
(3)配置集合数据
集合:-值1-值2举例:-后面要加空格 you:- beijing- anhui- tainjinlist1:- name: zhangsanage: 18sex: male- name: lisiage: 20sex: fmale- name: wangwuage: 19sex: 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: sdschool: opyou:- beijing- anhui- tainjinlist1:- name: zhangsanage: 18sex: male- name: lisiage: 20sex: fmale- name: wangwuage: 19sex: male
三、@ConfigurationProperties读取配置文件
通过@ConfigurationProperties(prefifx="对象")可以将配置文件中的配置自动与实体映射,这样就可以将yml文件中配置的对象属性直接映射到Bean中。
说的简单点,比如配置文件写的如下:
user:username: lisiage: 88address:- beijing- anhui- tianjinggrades:- subject: mathscore: 90- subject: englishscore: 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;} }