码迷,mamicode.com
首页 > 其他好文 > 详细

5.@ConfigurationProperties与@Value的区别

时间:2020-02-06 16:10:32      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:获取   区别   ast   rop   block   email   bean   校验   post   

  配置文件yml还是properties他们都能获取到值;如果说,我们只是在某个业务逻辑中需要获取一下配置文件中的某项值,使用@Value;如果说,我们专门编写了一个javaBean来和配置文件进行映射,我们就直接使用@ConfigurationProperties;

技术图片

 

1.功能

  使用@Value来代替@ConfigurationProperties也是可以的

技术图片

2.松散绑定

  在application.properties中:

1 person.last-name=张三

  如果不支持松散绑定,那么Person.java中必须写成

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

  如果支持松散绑定,那么在application.properties中:

1 person.lastName=张三
1 person.last_name=张三

  都是没有问题的。

3.SpEL

  如果支持Spring Expression Language,那么application.properties中可以出现

1 person.age=#{11*2}

  事实上这就相当于

1 person.age=22

 4.JSR303校验

  如果要求age变量必须是邮件格式,可以向Person类中加入@Validated以及@Email。那么此时application.properties中的age必须满足邮件格式才可以。

技术图片

 

 

 5.复杂类型封装

  这里的复杂类型指的是诸如maps等类型。

 

5.@ConfigurationProperties与@Value的区别

标签:获取   区别   ast   rop   block   email   bean   校验   post   

原文地址:https://www.cnblogs.com/yangyh26/p/12269006.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!