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的方法设置默认值

  • 相关阅读:
    strong,weak, retain, assign的区别@property的参数
    iOS 声明属性关键字讲解
    iOS中ARC和非ARC混用
    存储过程修改产品描述页图片alt描述信息
    mysql字符串函数(转载)
    读者证
    存储过程
    复制档案或目录 linux cp命令详解
    linux shell获取时间
    linux 备份日志文件
  • 原文地址:https://www.cnblogs.com/cnsec/p/13286681.html
Copyright © 2011-2022 走看看