java 如何在SpringBoot ApiSettings中为@Value设置默认List

w80xi6nr  于 2023-09-29  发布在  Java
关注(0)|答案(4)|浏览(84)

我是spring Boot 的新手,我正在尝试从api.properties中读取一些属性。我从ApiSettings类获取和设置它们。但我想添加一个默认的List是有人用我的API没有定义这个属性。请告诉我如何在ApiSettings类中使用@value设置默认列表

@Value("ACCEPTED,DONE,RESOLVED,CLOSED")
private List<String> validStoryStatus;

上面我列出的一个是错误的格式,什么是正确的方法来做到这一点?

hwazgwia

hwazgwia1#

你需要传递键和默认值,用冒号分隔,并使用split函数将其强制转换为list

@Value("#{'${your.key:ACCEPTED,DONE,RESOLVED,CLOSED}'.split(',')}")
private List<String> validStoryStatus;
j1dl9f46

j1dl9f462#

您可能会发现只使用String[]会更简洁一些

@Value("${valid-story-status:ACCEPTED, DONE, RESOLVED, CLOSED}")
private String[] validStoryStatus;
8qgya5xd

8qgya5xd3#

@Value("${exclude.patterns:/misc/ping,/actuator/health,/actuator/prometheus}")
private List<String> excludePatterns;

atmip9wb

atmip9wb4#

您正在寻找的是:

@Value("#{'${onekey:ACCEPTED,DONE,RESOLVED,CLOSED}'.split(',')}")   
private List<String> validStoryStatus;

相关问题