一、@Value注解的使用
1、语法@Value("${}")
2、application.properties配置
school.name=xingfuxiaoxue
3、@Value使用映射到属性
@Controller
public class StudentController {
@Value("${school.name}")
private String name;
@ResponseBody
public String helloStudent(){
return name;
}
}
二、@ConfigurationProperties注解映射到对象
1、application.properties配置
student.name=xiaoming
student.age=18
student.grade=99
2、映射到对象语法@ConfigurationProperties(prefix = " ")
@Component
@ConfigurationProperties(prefix = "student")
public class Student {
private String name;
private int age;
private int grade;
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;
}
public int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
}
其中,@ConfigurationProperties(prefix = "student")中的student为application.properties配置的对象名,@Component设置这个对象交给springboot管理
3、使用
@Controller
public class StudentController {
@Autowired
private Student student;
@RequestMapping(value = "helloStudent")
@ResponseBody
public String helloStudent(){
return student.getName()+student.getAge()+student.getGrade();
}
}
三、@PropertySource(value = {"classpath:student.properties"})加载类路径下的 student.properties 配置文件
1、student.properties放置路径
student.name=xiaoming
student.age=18
student.grade=99
@Component
@PropertySource("classpath:student.properties")
@ConfigurationProperties(prefix = "student")
public class Student {
private String name;
private int age;
private int grade;
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;
}
public int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
}
其中,多个可使用
@PropertySource(value = {"classpath:spring/config.properties",
"classpath:spring/news.properties"})
四、@PropertySources使用
@PropertySources({
@PropertySource("classpath:config.properties"),
@PropertySource("classpath:db.properties")
})