我想阅读具有地图地图的弹簧属性文件

Posted

技术标签:

【中文标题】我想阅读具有地图地图的弹簧属性文件【英文标题】:I want to read spring properties file that has a map of maps 【发布时间】:2018-04-26 14:47:21 【问题描述】:

我想要一个像下面这样的属性,它是地图的地图

propertymap = 
    key1:'subkey1:'subvalue1',subkey2:'subvalue2'',
    key2:'subkey3:'subvalue3',subkey4:'subvalue4'' 

@Value("#$propertymap")  
private Map<String,Map<String,String>> propertymap;

在我的配置类中使用了上述代码,但出现错误。请让我知道是否有办法做到这一点。

Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private java.util.Map  nested exception is org.springframework.beans.factory.BeanExpressionException: Expression parsing failed; nested exception is org.springframework.expression.spel.SpelParseException: EL1043E:(pos 17): Unexpected token. Expected 'rcurly()' but was 'identifier'
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:573)
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331)

【问题讨论】:

【参考方案1】:

我找到了方法,我只需要删除键后的 '

propertymap =   
   key1:  
      subkey1:'subvalue1',
      subkey2:'subvalue2'
   ,
   key2:  
      subkey3:'subvalue3',
      subkey4:'subvalue4'
   

下面的代码将其拾取

@Value("#$propertymap")  
private Map<String,Map<String,String>> propertymap;

【讨论】:

属性文件中必须有反斜杠 - 属性映射必须是多行的一个大字符串,例如key1:\ 等。

以上是关于我想阅读具有地图地图的弹簧属性文件的主要内容,如果未能解决你的问题,请参考以下文章

论文阅读用于自动驾驶的高清地图生成技术

如何把谷歌地图动画转换为视频文件

学术交流 | 地图线状要素眼动识别的朴素贝叶斯方法

Golang YAML 使用地图读取

使用 epub 查看交互式地图

弹簧,属性文件,空值