springBoot属性赋值
方式一:@ConfigurationProperties
用户类
@Component
@ConfigurationProperties(prefix = "user") //与配置文件的user绑定
public class UserInfo {
private int id;
private String uname;
private int uage;
private Department department;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public int getUage() {
return uage;
}
public void setUage(int uage) {
this.uage = uage;
}
public Department getDepartment() {
return department;
}
public void setDepartment(Department department) {
this.department = department;
}
@Override
public String toString() {
return "UserInfo{" +
"id=" + id +
", uname='" + uname + '\'' +
", uage=" + uage +
", department=" + department +
'}';
}
}
部门类
public class Department {
private int id;
private String name;
private String code;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
@Override
public String toString() {
return "Department{" +
"id=" + id +
", name='" + name + '\'' +
", code='" + code + '\'' +
'}';
}
}
yml配置文件
user:
uname: liufucheng
uage: 23
department:
name: 开发部
code: 002
单元测试
@Autowired
UserInfo userInfo;
@Test
public void printUserInfo(){
System.out.println(userInfo);
}
方式二:@Value
@Component
public class UserInfo {
private int id;
@Value("liufucheng")
private String uname;
private int uage;
private Department department;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public int getUage() {
return uage;
}
public void setUage(int uage) {
this.uage = uage;
}
public Department getDepartment() {
return department;
}
public void setDepartment(Department department) {
this.department = department;
}
@Override
public String toString() {
return "UserInfo{" +
"id=" + id +
", uname='" + uname + '\'' +
", uage=" + uage +
", department=" + department +
'}';
}
}
方式三:@PropertySource
新建liufucheng.properties
name=liufucheng
age=23
用户类
@Component
@PropertySource(value = "classpath:liufucheng.properties") //绑定配置文件
public class UserInfo {
private int id;
@Value("${name}") //从配置文件取值
private String uname;
@Value("${age}")
private int uage;
private Department department;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public int getUage() {
return uage;
}
public void setUage(int uage) {
this.uage = uage;
}
public Department getDepartment() {
return department;
}
public void setDepartment(Department department) {
this.department = department;
}
@Override
public String toString() {
return "UserInfo{" +
"id=" + id +
", uname='" + uname + '\'' +
", uage=" + uage +
", department=" + department +
'}';
}
}