Spring Boot 中注解ConfigurationProperties注入一个Map的问题

如图:

图片描述

Map的顺序并没有按我配置文件的顺序注入(尽管Spring是用的LinkedHashMap)

似乎早在一年前1.2.2版本之后的版本修复了:https://github.com/spring-projects/spring-boot/issues/2487

但为什么1.3.0还是出现这样的问题?是使用姿势不对?求解。

阅读 15.9k
1 个回答

找到了问题原因:
Properties本身就是不保证顺序的,在PropertiesPropertySourceLoader类中load方法中断点即可确认。
解决办法:
使用.yml(或.yaml)配置文件即可。(已验证)
YamlPropertySourceLoader类中load方法,跟到process方法中,可以看到使用了LinkedHashMap

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