zoukankan      html  css  js  c++  java
  • spring boot 配置属性值获取注解@Value和@ConfigurationProperties比较

    功能比较 :

     
      @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;
  • 相关阅读:
    java微信小程序调用支付接口
    Java开发中的23种设计模式详解(转)
    SSM框架-SpringMVC 实例文件上传下载
    设计模式--观察者模式
    设计模式之策略模式
    网络通讯简单了解
    android 五子棋开发
    android studio里的build.gradle基本属性
    android studio 真机调试
    java线程知识点
  • 原文地址:https://www.cnblogs.com/jonrain0625/p/11330417.html
Copyright © 2011-2022 走看看