我的 application.properties 文件中有以下内容
some.server.url[0]=http://url
some.server.url[1]=http://otherUrl
如何在 @Bean 方法中使用 @Value 注释来引用属性数组?
我将 Java 6 与 Tomcat 7 和 Spring Boot 1.4 一起使用
原文由 SebS 发布,翻译遵循 CC BY-SA 4.0 许可协议
我的 application.properties 文件中有以下内容
some.server.url[0]=http://url
some.server.url[1]=http://otherUrl
如何在 @Bean 方法中使用 @Value 注释来引用属性数组?
我将 Java 6 与 Tomcat 7 和 Spring Boot 1.4 一起使用
原文由 SebS 发布,翻译遵循 CC BY-SA 4.0 许可协议
我也遇到了与您提到的相同的问题,并且似乎在 application.properties
上使用索引表单对我也不起作用。
为了解决这个问题,我做了类似下面的事情
some.server.url = url1, url2
然后要获得这些属性,我只需使用 @Value
@Value("${some.server.url}")
private String[] urls ;
Spring 自动用 逗号 分割 String 并返回一个 Array 。 AFAIK
这是在 Spring 4+
中引入的
如果您不想 comma (,)
作为分隔符,则必须使用如下所示的 SpEL 。
@Value("#{'${some.server.url}'.split(',')}")
private List<String> urls;
其中 split()
接受 分隔符
原文由 A0__oN 发布,翻译遵循 CC BY-SA 3.0 许可协议
8 回答6.2k 阅读
1 回答2.1k 阅读✓ 已解决
1 回答1.9k 阅读✓ 已解决
1.9k 阅读
2 回答1.1k 阅读
1 回答933 阅读
1 回答577 阅读
按着这些次序
@Value(“${some.server.url}”) 私有列表 url;
@ConfigurationProperties(“some.server”) 公共类 SomeConfiguration {
3)你应该有实例变量’urls’的getter和setter