• 总结:Spring Boot之@Value


    一、介绍

    我们可以通过@Value将外部的值动态注入到Bean中。

    二、普通字符串注入

    例:yml中存在key:name: zs

    @Value注入

    1. @Value("${name}")
    2. public String name;

    当yml中的name没有对应值时,即yml中为:name:

    此时字符串name的值为""

    可设置注入属性的默认值(当配置文件中没有此key时,此默认值生效),语法:

    1. @Value("${name:zch}")
    2. public String name;// 此时,若配置文件中没有name这个key,变量name的值为zch

    三、常用的int、boolean类型

    例:yml中存在key:

    1. port: 8888
    2. flag: true

    @Value注入

    1. @Value("${port}")
    2. public int port;
    3. @Value("${flag}")
    4. public boolean flag;

    三、数组类型注入

    例:yml中存在key:id: 1,2,3

    @Value注入:

    1. @Value("${id}")
    2. public int[] idArray;

    四、list类型

    例:yml中存在key:id: 1,2,3

    @Value注入:

    1. @Value("#{'${id}'.split(',')}")
    2. public List<String> idList;

    五、map类型

    例:yml中存在key:

    user: "{name: 'zs',age: '23'}" #注意此值用双引号包裹

    @Value注入

    1. @Value("#{${user}}")
    2. public Map<String,String> userInfo;

    当yml中user没有对应值是,启动报错

    六、操作系统相关

    1. @Value("#{systemProperties['os.name']}")
    2. private String systemPropertiesName; // 注入操作系统属性

    七、其它bean属性

       

    1. @Value("#{beanInject.another}")
    2. private String fromAnotherBean; // 注入其他Bean属性:注入beanInject对象的属性another,类具体定义见下面

    八、文件资源注入

    1. @Value("classpath:data/service/sbusiness.json")
    2. private Resource sbusinessJson;
    3. @Value("classpath:data/service/sbusinessDesc.txt")
    4. private Resource sbusinessDesc;
    5. @Value("classpath:data/service/alarmDesc.txt")
    6. private Resource alarmDesc;


     

  • 相关阅读:
    Leetcode 118 杨辉三角
    洛谷刷题C语言:USPON、ZBROJ、KARTE、最急救助、可持久化动态仙人掌的直径问题
    Golang context.Context
    Mysql 通过binlog伪装master恢复数据库
    ChatGPT魔法,定制个性化提示词!
    基于SSM的实习管理系统
    猴子也能学会的jQuery第三期——使用jQuery
    .NET Core 企业微信回调配置
    k8s集群搭建
    Docker compose
  • 原文地址:https://blog.csdn.net/w2009211777/article/details/126141083