如何解决如何在springboot中从[]读取属性为List<String>
有时我看到有人在属性文件中这样定义:
spring.autoconfigure.exclude[0]=com.vietnam.AAutoConfiguration
spring.autoconfigure.exclude[1]=com.vietnam.BAutoConfiguration
只是一个问题:如何在 Spring bean 中定义一个属性来收集这个配置作为列表? 在其他地方,他们说这样使用: 在属性中:
spring.autoconfigure.exclude=com.vietnam.AAutoConfiguration,com.vietnam.BAutoConfiguration
在春豆
@Value("#{'${spring.autoconfigure.exclude}'.split(',')}"
但我不喜欢这种方式,以防价值很长。每行一个配置会更容易阅读和维护
谢谢
解决方法
您可以读取多个字符串,如下所示 在 application.properties 中
app.names=vipul,uncle,bob
在你的组件类中
@Value("${app.names}")
private List<String> names;
,
我找到了方法,使用 @Value
将不支持我想要的大小写。
我们需要使用 @ConfigurationProperties
然后 Spring 会将属性收集为列表
@ConfigurationProperties(prefix = "spring.autoconfigure")
public class SpringConfig {
@Setter //lombok
private List<String> exclude;
}
配置将简单如:
spring.autoconfigure.exclude[0]=com.vietnam.AAutoConfiguration
spring.autoconfigure.exclude[1]=com.vietnam.BAutoConfiguration
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。