在我的application.yml文件中,我想定义一个规则列表。
rules:
- name: abc
value: something
- name: edf
value: something
然后我要定义这样的服务
@Service
public class MyService {
public MyService(@Value("${rules}") List<Rule> rules) {
}
}
对于Rule pojo,就像这样。
public class Rule {
public String name, value;
}
当前,我正面临这些错误。
如果我将规则留空,则会抛出can't convert String to List<Rule>
规则:[]
如果我保留这些值,它将抛出could not resolve placeholder 'rules'
我真的不知道我在做什么错。
答案 0 :(得分:0)
从Spring文档中,我发现了这一点。
使用@Value(“ $ {property}”)批注注入配置 属性有时会很麻烦,尤其是在您工作的时候 具有多个属性,或者您的数据本质上是分层的。 Spring Boot提供了使用属性的另一种方法 使强类型的Bean可以控制和验证配置 您的应用程序
最后,我必须介绍另一个课程。
@Configuration
@ConfigurationProperties(prefix="rules")
public class Rules {
public List<Rule> list;
}
然后我将其自动连接到MyService
。