zoukankan      html  css  js  c++  java
  • 【Spring】@Value读取properties作为map或list

    Spring读取properties作为map:

    properties文件中:

    blog-top-links={home:"/home"}
    
    blog-list=1,2,3
    

    map的写法和json差不多,但是应该不支持嵌套,没有尝试。

    key加不加引号都可以,value加双引号单引号都可以,但是当key中有”-“时就必须加引号,例如key为:about-me时,就必须加引号否则解析失败

    list的写法和数组差不多,可以自定义分隔符,在java中分割即可

    配置类中:

    @Component
    @ConfigurationProperties
    @PropertySource("properties文件路径")
    public class BlogConfig {
        @Value("#{${blog-top-links}}")
        private Map<String, String> topLinks;
        @Value("#{'${blog-list}'.split(',')}")
        private List<Integer> list;
    
        ...
        省略get/set
        实际不能省略,否则虽然能启动不报错,但是无法获取到值
    }
    

    获取map的方法:

     @Value("#{${blog-top-links}}")
    

    使用#{${key}}的方式

    获取list的方法:

    @Value("#{'${blog-list}'.split(',')}")
    

    使用@Value(“#{‘${key}’.split(‘,’)}”)的方式

    split(‘,’)只以’,’为分隔符,也可以换成别的

    当配置文件中没有key时,也可以使用key:default_value的方法设置默认值

  • 相关阅读:
    leetcode(4) Median of Two Sorted Arrays
    logisitic回归
    共识算法 pos,Dpos
    solidity合约详解
    solidity中的memory和 storage详解
    win10下搭建私链
    区块链学习(7) 共识
    区块链学习(6)区块链
    区块链学习(5)比特币网络
    区块链学习(4)交易(二)
  • 原文地址:https://www.cnblogs.com/cnsec/p/13286681.html
Copyright © 2011-2022 走看看