Spring Boot - 从 YAML 文件中注入地图
Posted
技术标签:
【中文标题】Spring Boot - 从 YAML 文件中注入地图【英文标题】:Spring Boot - Injecting a map from a YAML file 【发布时间】:2018-09-25 08:49:36 【问题描述】:我尝试了几个版本,但都没有工作。 将其作为地图注入的正确方法是什么:
application.yml
alias:
name: title
desc: description
content: body
我尝试使用@Value
注解:
NamingService.kt
@Value("\$alias")
private var alias: Map<String, String> = emptyMap()
我明白了:
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'alias' in value "$alias"
kotlinVersion = '1.2.31'; springBootVersion = '2.0.1.RELEASE'
【问题讨论】:
同样的问题是here 【参考方案1】:我们的代码中有类似的东西。我们就是这样解决的。
application.yml
validation:
synonyms:
Doctor: Dr.
Sanct: St.
配置
@Component
@ConfigurationProperties("validation")
public class ValidationConfig
private Map<String, String> synonyms;
// ...
您可以在文档中找到有关此主题的更多信息:Spring Boot Externalized Configuration
【讨论】:
以上是关于Spring Boot - 从 YAML 文件中注入地图的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot Kotlin - 从 YAML 文件中注入地图
Spring Boot:使用 @Value 或 @ConfigurationProperties 从 yaml 读取列表
Spring Boot 2从入门到入坟 | 配置文件篇:yaml语法详解