配置文件
server:
port: 8082
address: 127.0.0.1
name: abc
person:
name: zhangsan
age: 20
address:
- beijing
- shanghai
person2: {name: zhangsan,age: 20}
address:
- beijing
- shanghai
address2: [beijing,shanghai]
类读取
@Component
//对应yml文件中person
@ConfigurationProperties(prefix = "person")
public class Person {
private String name;
public String[] getAddress() {
return address;
}
public void setAddress(String[] address) {
this.address = address;
}
private int age;
private String[]address;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
", address=" + Arrays.toString(address) +
'}';
}
}
@RestController
@RequestMapping("/hello")
public class HelloController {
//相当于new
@Autowired
private Person person;
@Autowired
private Environment env;
@Value("${name}")
private String name;
@Value("${person.name}")
private String name2;
@RequestMapping("/test")
public String test(){
return " hello Spring boot 222! ";
}
@RequestMapping("/test2")
public String test2(){
System.out.println(person.getName());
System.out.println(person.getAge());
String[]address=person.getAddress();
for (String s : address) {
System.out.println(s);
}
return env.getProperty("address[0]");
}
}