【发布时间】:2019-07-08 04:36:41
【问题描述】:
是否可以将下面的 yaml 文件作为 Map<String, Map<String, String> 注入 Spring Boot 应用程序,其中 tradeType 将是外部映射的键,P 和 B 将是内部映射的键值。
tradeType:
P: B
S: S
securityCode:
ICI: ICICI Bank
BOB: Bank of Baroda
BOA: Bank of America
BOS: Bank of Singapore
正如建议的那样,这就是我的班级的样子。
@Configuration
@PropertySource("file:data/referenceDataMapping.yaml")
@ConfigurationProperties(prefix = "map")
public class ReferenceDataMapping {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
private Map<String, Map<String, String>> entries;
@Override
public String toString() {
if (entries != null) {
logger.info(entries.toString());
return entries.toString();
} else {
return null;
}
}
public Map<String, Map<String, String>> getEntries() {
return entries;
}
public void setEntries(Map<String, Map<String, String>> entries) {
this.entries = entries;
}
}
来自 build.gradle
dependencies {
compile 'org.springframework.boot:spring-boot-starter-activemq:2.1.2.RELEASE'
compile 'org.springframework.boot:spring-boot-starter-security:2.1.2.RELEASE'
compile 'org.springframework.boot:spring-boot-starter-web:2.1.2.RELEASE'
compile 'org.apache.camel:camel-spring-boot-starter:2.23.1'
compile 'org.apache.camel:camel-quartz2:2.23.1'
compile 'org.apache.camel:camel-jms:2.23.1'
compile 'org.apache.camel:camel-jacksonxml:2.23.1'
compile 'com.fasterxml.jackson.core:jackson-databind:2.9.8'
compile 'net.sf.saxon:Saxon-HE:9.9.1-1'
testCompile 'org.springframework.boot:spring-boot-starter-test:2.1.2.RELEASE'
testCompile 'org.springframework.security:spring-security-test:5.1.3.RELEASE'
}
referenceDataMapping.yaml
map:
entries:
tradeType:
P: B
S: S
securityCode:
ICI: ICICI Bank
BOB: Bank of Baroda
BOA: Bank of America
BOS: Bank of Singapore
【问题讨论】:
标签: spring spring-boot yaml