如何在映射到Spring配置类列表中的环境变量中转义逗号
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在映射到Spring配置类列表中的环境变量中转义逗号相关的知识,希望对你有一定的参考价值。
此问题与以下问题的重复,已经存在5年以上,尚未收到公认的答案。
How to escape "," (comma) in Spring String to array or List conversion
我有一个包含码头工人的spring-application,可以通过环境变量进行自定义。
Spring将拾取环境变量并将其映射到配置类中的字段。
List<String>
是一个这样的字段。它正确地将我的环境变量拆分为逗号字符。当我的一个字段包含逗号时,就会出现问题。
我尝试了以下操作:
-e LIST1='"1","2a,2b","3"'
-e LIST2="'1','2a,2b','3'"
-e LIST3="1,2a,2b,3"
-e LIST4="1,2a\,2b,3"
-e LIST5='1,2a,2b,3'
-e LIST6='1,2a\,2b,3'
[在每种情况下,spring都只是在逗号字符之间进行字符串分割,导致我的某些值包含诸如,
'
,"
之类的字符。
答案
您无法在春季引导中转义列表的逗号,恐怕您将不得不考虑加载这些环境变量的替代方法
以上是关于如何在映射到Spring配置类列表中的环境变量中转义逗号的主要内容,如果未能解决你的问题,请参考以下文章
将 Yaml 中的列表映射到 Spring Boot 中的对象列表
Spring Boot 如何知道 Heroku 的 DATABASE_URL 配置变量?