@ConfigurationProperties注解与@Value注解区别

 时间:2026-04-22 14:24:39

1、在SpringBoot中,除了使用@ConfigurationProperties注入属性的值,还可以使用Spring的底层注解@Value注入属性的值。

@Component

public class Person {

    @Value("${person.last-name}")

    private String lastName;

    private Integer age;

    private Boolean boss;

    private Date birth;

}

@ConfigurationProperties注解与@Value注解区别

2、这个两个注解都能注入属性的值,那么这两个注解的区别是什么?

@ConfigurationProperties能够批量注入配置文件的属性。

@Value只能一个个指定。

@ConfigurationProperties注解与@Value注解区别

3、@ConfigurationProperties支持松散绑定。

@ConfigurationProperties(prefix = "person"),只需要指定一个前缀,就能绑定有这个前缀的所有属性值。

@ConfigurationProperties注解与@Value注解区别

4、@Value支持SpringEl的语法。@ConfigurationProperties不支持SpringEl的语法。

@ConfigurationProperties注解与@Value注解区别

5、@ConfigurationProperties还支持JSR303进行配置文件值及校验。

@ConfigurationProperties注解与@Value注解区别

6、@Value不支持复杂类型封装注解。

如果说,我们只是在某个业务逻辑中需要获取一下配置文件中的某项值,使用@Value,如果我们转么编写了一个javabean和配置文件进行映射,就直接使用ConfigurationProperties;

  • 如何使用DBeaver修改数据库表字段名称
  • 路由器 lan口地址修改
  • 逆水寒奇遇金明鱼痴怎么触发
  • jquery判断是否有某个class
  • 逆水寒夜雨两相别高丽参在哪儿买
  • 热门搜索
    沉重的意思 撕心裂肺的意思 星星之火可以燎原的意思 缺省是什么意思 669是什么意思 手机钢化膜什么牌子好 滥觞什么意思 dn100是什么意思 免税店是什么意思 bullshit什么意思