【发布时间】:2019-11-22 10:25:51
【问题描述】:
我有这个 application.yml 文件
messages:
first-journey-messages:
- key: fullName-required
value: This field is required.
- key: fullName-validation
value: Please enter a valid full name.
- key: technical-error
value: Unfortunately we are having technical issues, please try again later.
second-journey-messages:
- key: technical-error
value: "<p class='heading-bold'>Sorry, something went wrong </p><p>We encountered a technical error. Please try again. If you continue to experience difficulties, please call us on 0123456 and an agent will be happy to assist you.</p>"
- key: download-technical-error
value: "<p class='heading-bold'>Sorry, something went wrong </p><p>Unable to download document at this moment. Please try again later.</p>"
third-journey-messages:
- key: home-url
value: /app/home
- key: services-url
value: /app/services
我想使用@Value 注释在Map 对象下方读取上述配置。
@Value("${messages}")
private Map<String, List<MessageEntry>> messagesMap = new HashMap<>();
POJO:MessageEntry
@Data
@AllArgsConstructor
public class MessageEntry implements Serializable {
private String key;
private String value;
}
当我尝试读取配置时,我收到了null。
messagesMap.get("second-journey-messages")
有人可以帮我识别,我做错了什么吗?
或者,我如何将上述配置读取为Map<String, List<MessageEntry>> 类型的对象?
注意:我使用 spring boot 和 lombok
【问题讨论】:
标签: java spring spring-boot