使用注解 @Value 映射
我们可以通过 @Value 注解将配置文件中的值映射到一个 Spring 管理的 Bean 的字段上
application.properties 配置如下:
person:
name: zhangsan
age: 18
或者,application.yml 配置如下:
person:
name: zhangsan
age: 18
实体Bean代码如下:
@Controller
public class QuickStartController {
@Value("${person.name}")
private String name;
@Value("${person.age}")
private Integer age;
@RequestMapping("/quick")
@ResponseBody
public String quick(){
return "springboot 访问成功! name="+name+",age="+age;
}
}
浏览器访问地址:http://localhost:8080/quick 结果如下:
使用注解 @ConfigurationProperties 映射
通过注解 @ConfigurationProperties(prefix="配置文件中的key的前缀") 可以将配置文件中的配置自动与实体进行映射
实体Bean代码如下:
@Controller
@ConfigurationProperties(prefix = "person")
public class QuickStartController {
private String name;
private Integer age;
@RequestMapping("/quick")
@ResponseBody
public String quick() {
return "springboot 访问成功! name = " + name + ", age = " + age;
}
public void setName(String name) {
this.name = name;
}
public void setAge(Integer age) {
this.age = age;
}
}
浏览器访问地址:http://localhost:8080/quick 结果如下:
使用 @ConfigurationProperties 方式可以进行配置文件与实体字段的自动映射,但需要字段必须提供 set 方法才可以,而使用 @Value 注解修饰的字段不需要提供set方法