注意:在使用Springboot配置时,username、user.name属性获取的直接是电脑用户,而不是我们设置的值,所以需要注意避免一下这两个命名
1.普通格式
#一般数据 key: value 表示key加上英文冒号 一个空格 加上value
#key: value
username1: 李四
1.1 代码使用
使用@value注解通过占位符#{}来获取配置文件的属性
@Value("${username1}")
private String username;
/*
*一般属性使用
*/
@RequestMapping("/test")
public String sayHello(){
return "username:"+username;
}
1.2 测试页面展示
2.对象数据(bean)
#pojo对象数据或map数据(要想使用就必须定义一个bean类
#使用@ConfigurationProperties注解输入属性值 然后存入核心容器 使用是直接注入)
#也可以直接@value注解使用${user.age}使用其中某个属性
#对象名称: 回车+两个空格 属性名: 一个空格value
#key: 回车
# key1: value 冒号加一个空格
# key2: value
user:
name1: 老王
age: 18
2.1 代码使用
首先设置bean将数据存入,需要写set方法
@Component
@ConfigurationProperties(prefix = "user")
//prefix是前缀名 也就是我最终使用效果是user.name1 中的user
// 也就是配置文件中的key的前缀
public class User {
private String name1;
private Integer age;
public void setName1(String name1) {
this.name1 = name1;
}
public void setAge(Integer age) {
this.age = age;
}
public Integer getAge() {
return age;
}
@Override
public String toString() {
return "User{" +
"name1='" + name1 + '\'' +
", age=" + age +
'}';
}
public String getName1() {
return name1;
}
}
正式使用
//注入整个对象
@Autowired
private User user;
//直接从配置文件获取属性
@Value("${user.age}")
private Integer age;
/*
*对象属性使用
*/
@RequestMapping("/test")
public String sayHello(){
return "user对象:"+user+"====直接从配置文件获取age:"+age;
}
2.2 测试页面展示
3.普通list集合
#用逗号隔开
# 普通集合类型 也是需要用bean来传输数据
#key:回车
# value1,value2
city:
北京,上海
对应集合的bean
@Component
@ConfigurationProperties()
public class City {
private List<String> city;
@Override
public String toString() {
return "City{" +
"city=" + city +
'}';
}
public List<String> getCity() {
return city;
}
public void setCity(List<String> city) {
this.city = city;
}
}
正式使用
@Autowired
private City city;
/*
*使用普通的集合对象
*/
@RequestMapping("/test")
public String sayHello(){
return "city集合:"+city.getCity()+"***集合中第一个属性的值"+city.getCity().get(0);
}
3.2 测试效果
4. 对象集合
#使用方法是一样的
#用-加空格 表示对象 后面接对象属性
#key:
# -key1: value1
# key2: value2
# -key1: value3
# key2: value4
userList:
- name1: 张三
age: 18
- name1: 李四
age: 99
对应集合的bean
@Component
@ConfigurationProperties()
public class UserList {
private List<User> userList;
public List<User> getUserList() {
return userList;
}
public void setUserList(List<User> userList) {
this.userList = userList;
}
}
正式使用
@Autowired
private City city;
/*
*使用普通的集合对象
*/
@RequestMapping("/test")
public String sayHello(){
return "city集合:"+city.getCity()+"***集合中第一个属性的值"+city.getCity().get(0);
}