我试图在我的spring启动应用程序中创建一个可以被环境变量覆盖的属性。这样做的典型方式如下:
some:
property: ${some_property:default_value}
然后我们使用docker compose将环境变量注入到该属性中。我遇到的问题是关于名单。我想做同样的概念,但在yml中使用列表格式。列表的常规格式如下:
some:
property:
- value1
- value2
- value3
我想让它成为一个环境变量,使用上面的默认值。所以像这样的事情(但是。。。正确):
some:
property: ${some_list:[
- defaultValue1
- defaultValue2
- defaultValue3
]}
技术上可行的方法是,我将该属性设置为逗号分隔的字符串,然后在代码中解析它,但是当您有很多非常长的值时,将所有值都设置为一个字符串可能会很难看。那么,有没有一种方法可以让list-spring属性成为application.yml中带有默认值的变量(因此不是java代码中的注解)
1条答案
按热度按时间j8ag8udp1#
只需在application.properties中设置默认值:
要使用环境变量替代,请执行以下操作: