我为 Spring Boot 应用程序设置了以下配置类:
@Configuration
@ConfigurationProperties(prefix = "tasks")
@Getter
@Setter
public class TaskConfiguration {
private List<TaskEntry> tasks;
@Getter
@Setter
public static class TaskEntry {
private String name;
private String url;
private String cronExpression;
}
}
的application.yml
定义了可以正确地在应用程序中读出的以下值:
tasks:
tasks:
- name: A
url: http://localhosta
cronExpression: 1 2 3 4 5 A
- name: B
url: http://localhostb
cronExpression: 1 2 3 4 5 B
但是,您可能已经注意到tasks
配置文件中有一个重复的密钥。我还没有找到如何摆脱它,以便 YAML 看起来像这样:
tasks:
- name: A
url: http://localhosta
cronExpression: 1 2 3 4 5 A
- name: B
url: http://localhostb
cronExpression: 1 2 3 4 5 B
从is是有效绑定到此对象的属性的前缀,在您的情况下,这意味着tasks将是您所有配置类属性的前缀,包括出现在 application.yml 文件中的tasks属性。为避免这种情况,您可以使用代替。ConfigurationProperties
prefix
@ConfigurationProperties
@ConfigurationProperties(prefix = "tasks")
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句