有没有办法在没有 spring boot 的情况下使用 YAML 配置。从文档中可以清楚地看出这可能是不可能的,但专家可能有其他意见。
问问题
357 次
1 回答
2
是的,有办法。您需要使用YamlPropertiesFactoryBean
哪个能够读取/解析 yaml 文件。
您需要对类路径的这种依赖:
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>1.20</version>
</dependency>
接下来,您可以从 yaml 文件中加载属性并将它们注入到 a
PropertySourcesPlaceholderConfigurer
usinggetObject()
方法中,该方法YamlPropertiesFactoryBean
返回一个实例java.util.Properties
@Bean
public static PropertySourcesPlaceholderConfigurer properties() {
PropertySourcesPlaceholderConfigurer propertyConfigurer = new PropertySourcesPlaceholderConfigurer();
YamlPropertiesFactoryBean yaml = new YamlPropertiesFactoryBean();
yaml.setResources(new ClassPathResource("application.yml"));
propertyConfigurer.setProperties(yaml.getObject());
return propertyConfigurer;
}
然后,您可以使用例如从 yaml 文件中注入属性@Value
。
于 2018-04-02T11:32:41.893 回答