码迷,mamicode.com
首页 > 编程语言 > 详细

spring boot 配置属性值获取注解@Value和@ConfigurationProperties比较

时间:2019-08-10 09:34:55      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:class   orm   数据校验   属性   nbsp   col   pat   value   you   

功能比较 :

 
  @ConfigurationProperties  @Value 
映射赋值 批量注入配置文件中的属性 一个个指定
松散绑定(松散语法)① 支持 不支持
SpEL② 不支持 支持
JSR303数据校验③ 支持 不支持
复杂类型封装④ 支持 支持

 

 

 

 

 

 
 
 
 
 
 

说明

① 指属性在配置文件中value是否对驼峰,下划线“_“ 、连接线”-“ 都支持,如下写法,在javaBean中,属性值firstName是否都能获取到值

– person.firstName:使用标准方式
– person.first-name:大写用-
– person.first_name:大写用_
– PERSON_FIRST_NAME:推荐系统属性使用这种写法 

 

② value="字面量:{value}、从环境变量:${key}、配置文件中获取值:#{SpeL}
  列(《javaEE开发的颠覆者》代码):

  

@Value("I Love You!") 
private String normal;
@Value("#{systemProperties[‘os.name‘]}") 
private String osName;
@Value("#{ T(java.lang.Math).random() * 100.0 }") 
private double randomNumber;
@Value("#{demoService.another}") 
private String fromAnother;
@Value("classpath:com/wisely/highlight_spring4/ch2/el/test.txt") 
private Resource testFile;
@Value("http://www.baidu.com") 
private Resource testUrl;
@Value("${book.name}") 
private String bookName;

 

③ 参考:https://blog.csdn.net/qq_28867949/article/details/78922520

④ 对object、map 、array 等对象的赋值。如(注意配置文件,对象属性的写法) :

private Date birth;
private Map<String,Object> maps;
private List<Object> lists;
private Dog dog;

 

spring boot 配置属性值获取注解@Value和@ConfigurationProperties比较

标签:class   orm   数据校验   属性   nbsp   col   pat   value   you   

原文地址:https://www.cnblogs.com/jonrain0625/p/11330417.html

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