@ConfigurationProperties
是 Spring Boot 中用来绑定和验证配置属性的注解。通过在一个 @Component
或者 @Configuration
类上使用 @ConfigurationProperties
注解,你可以将外部配置文件中的属性值绑定到一个 JavaBean 中。这个 JavaBean 的属性名称和配置文件中的属性名称要一致,Spring Boot 会自动完成匹配和绑定工作。
控制层:
@RestController
//my代表了配置文件的前缀
@ConfigurationProperties(prefix = "my")
@Data
public class HelloController {
//读取name
//测试配置文件是否生效
@Value("${student.name}")
private String username;
//list为指定前缀下的属性 与前缀组合后为 my.list
private List<String> list =new ArrayList<>();
//测试方法
@GetMapping("/hi")
public String hello() {
System.out.println("用户姓名"+username);
System.out.println("爱好是:");
this.list.forEach(System.out::println);
return "hello";
}
}
配置文件:(这里使用的是yml文件)
spring:
application:
name: service-test
server:
port: 8521
student:
name: 张三
my:
list:
- beijing
- shijiazhuang
- 北京
- 石家庄
首先我们需要了解可能会导致值注入失败的几种可能:
1.标注的类没有被注册为Bean组件
2.当前类没有get set方法
3.前缀名书写错误 属性名不一致