我在application.yml
中有SpringBoot应用属性。
我正在使用第三方api,它仅接受ResourceBundle
对象的属性。
如何将application.yml
转换为 ResourceBundle
对象(最好使用自动连线)
这里我想使用spring加载的默认application.yml,这样我就不想提供文件名。
现在,我正在考虑以下方法,但希望有更好的方法(当然,我会在下面注入豆类,
@Bean(name = "appPoperties")
public Properties yamlProperties() throws IOException {
YamlPropertiesFactoryBean bean = new YamlPropertiesFactoryBean();
bean.setResources(new ClassPathResource("application.yml"));
return bean.getObject();
}
ResourceBundleMessageSource rbs = new ResourceBundleMessageSource();
rbs.setCommonMessages(yamlProperties());
ResourceBundle rb = new MessageSourceResourceBundle(rbs, Locale.getDefault());