使用Springboot yml配置文件的问题 Could not resolve placeholder

在springboot中使用application.yml配置文件时,通过@Value加载配置参数,普通参数一切ok,只要涉及数组,就提示Could not resolve placeholder 'XXX' in value "${XXX}",请教一下应该从哪里查问题?

t1:
  tta: 1234
  list:
    - 123
    - 123
    - 123
    - 123
devicelist:
  - {cameraIp: '10.10.10.36', motoIp: '10.10.10.114'}
  - {cameraIp: '10.10.10.35', motoIp: '10.10.10.113'}

以上内容t1.tta可获取,但 t1.list、devicelist都会报错
springboot试过2.3.3、2.3.5、2.4.0 都不行
开发环境是idea 2020.03
以上内容在yaml在线校验通过,没有问题
以下是配置参数注解

    @Value("${t1.tta}")
    private String tta;
    @Value("${devicelist}")
    private List<Map<String,String>> settingsDevices;
    @Value("${t1.list}")
    private List<String> list;
阅读 12.7k
1 个回答

@Value 只支持基本类型,数组(何况你这也不是数组,是列表)需要你自己实现。

可以参考这篇来实现:https://www.cnblogs.com/levi1...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题