application.yml作为springboot的主要配置文件,是yaml格式的。
1.接收方式可以在
@Component
修饰的类下的属性中使用@Value("${配置文件中的参数名}")
实现
2.使用@ConfigurationProperties(prefix = "test.yml")
注解的bean类接收
注意,一定要写getter和setter方法,并且yml和bean类中的属性名保持一致
application.yml
test:
value: ssss
yml:
name: lilili
list:
- aaaa
- bbbb
- cccc
users:
- username: a
password: aa
- username: b
password: bb
urls: [/api/v1/save,/api/v1/update]
maps: {username: lilili,age: 18}
YamlProperties
@Component
@ConfigurationProperties(prefix = "test.yml")
public class YamlProperties {
private String name;
private List<String> list;
private List<User> users;
private String[] urls;
private Map<String, String> maps;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<String> getList() {
return list;
}
public void setList(List<String> list) {
this.list = list;
}
public List<User> getUsers() {
return users;
}
public void setUsers(List<User> users) {
this.users = users;
}
public String[] getUrls() {
return urls;
}
public void setUrls(String[] urls) {
this.urls = urls;
}
public Map<String, String> getMaps() {
return maps;
}
public void setMaps(Map<String, String> maps) {
this.maps = maps;
}
@Override
public String toString() {
return "YamlProperties{" +
"name='" + name + '\'' +
", list=" + list +
", users=" + users +
", urls=" + Arrays.toString(urls) +
", maps=" + maps +
'}';
}
}
YmLTest
@RestController
@RequestMapping("yaml")
public class YmLTest {
@Value("${test.value}")
private String str;
@Autowired
private YamlProperties yamlProperties;
@GetMapping("test")
public String test() {
System.out.println("===" + str);
System.out.println("===" + yamlProperties);
return "hello";
}
}
User
public class User {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User{" +
"username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}