【发布时间】:2019-02-08 09:29:16
【问题描述】:
我在 application.yaml 中有这个值
import-charge-fields:
4: billDate
1001: validUntil
7: totalAmount
24: purpose
在服务中我尝试注入它:
@Value("${import-charge-fields}")
private Map<String, String> fields;
但我得到了例外:
原因:java.lang.IllegalArgumentException:无法解析 值“${import-charge-fields}”中的占位符“import-charge-fields”
我试试这个:
charge:
hz: 123
fields:
4: billDate
1001: validUntil
7: totalAmount
24: purpose
和
@Getter
@Setter
@Component
@ConfigurationProperties(prefix = "charge")
public class ChargeFields {
private String hz;
private Map<String, String> fields;
}
和
@Value("${charge.hz}")
private String hz;
@Value("${charge.fields}")
private Map<String, String> fields;
它不起作用
【问题讨论】:
-
这和另一个问题中提到的完全一样,对于复杂的结构使用
@ConfigurationProperties。考虑到这是重复的,我投票结束了这个问题。 -
你试过
@Resource
标签: spring-boot yaml