如何在映射到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 配置变量?

如何在Windows7 设置node的环境变量NODE

如何将嵌套列表映射到 Python 中的可迭代字典

将 YAML 列表映射到 Spring Boot 中的对象列表

工具类使用@Value将信息注入到静态变量中