application.yml
server:
prot:8080
person:
name:xiaoming
age:15
maps:{k1: v1,k2: v2}
lists:
- xiaohua
- xiaoqiang
dog:
name:xiaogou
age:5
(prefix = “person”)意思是配置文件中那个节点下面的所有属性进行映射
@ConfigurationPrroperties(prefix = “person”)此处要获取配置文件中preson中的值(prefix = “person”)配置"person"前缀,
@ConfigurationPrroperties(prefix = "person")
public class Person{
private String name;
private Integer age;
private Map<String,Object> maps;
private List<Object> lists;
private Dog dog;
}
导入它(配置文件处理器)以后在编写配置文件是会有提示, 若没有提示,可以尝试重启springboot
@ConfigurationPrroperties这个要起作用当前当前类必须是spring容器中的组件,只有这个组件是容器中的组件,才能使用容器提供的功能。
@Component通过这个将组件加入的容器
@Component
@ConfigurationPrroperties(prefix = "person")
@Validated//数据校验
public class Person{
@Email //此属性必须包含@符合
private String name;
}
上面同过@ConfigurationPrroperties
下面同过@Value("${person.name}")获取需要将此注解写到属性上方
两者区别

@ConfigurationPrroperties(prefix = “person”)
这个只能获取到全局配置文件中的值
通过@PopertySource(value = {“classpath:person.properties”})获取到指定文件的配置

本文介绍了如何在JavaBean中注入配置文件的值,重点讨论了@ConfigurationProperties(prefix = "person")和@Value注解的使用。前者用于全局配置文件,后者可直接获取特定属性。通过@Component注解将JavaBean加入Spring容器,确保配置生效。

被折叠的 条评论
为什么被折叠?



