我有一个Spring应用程序,当前正在使用* .properties文件,但我想使用YAML文件来代替它。
我发现类YamlPropertiesFactoryBean似乎能够满足我的需求。
我的问题是我不确定如何在Spring应用程序中使用此类(使用基于注释的配置)。似乎我应该使用
setBeanFactory方法在PropertySourcesPlaceholderConfigurer中对其进行配置。
以前,我使用@PropertySource加载属性文件,如下所示:
@Configuration
@PropertySource("classpath:/default.properties")
public class PropertiesConfig {
@Bean
public static PropertySourcesPlaceholderConfigurer placeholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
}
如何在PropertySourcesPlaceholderConfigurer中启用YamlPropertiesFactoryBean,以便可以直接加载YAML文件?还是有另一种方法?
谢谢。
我的应用程序使用基于注释的配置,而我使用的是Spring Framework
4.1.4。我找到了一些信息,但是它总是像这样的内容使我指向Spring
Boot 。
使用XML config,我一直在使用这种结构:
<context:annotation-config/>
<bean id="yamlProperties" class="org.springframework.beans.factory.config.YamlPropertiesFactoryBean">
<property name="resources" value="classpath:test.yml"/>
</bean>
<context:property-placeholder properties-ref="yamlProperties"/>
当然,您必须对运行时类路径具有snakeyaml依赖性。
我更喜欢XML配置而不是Java配置,但我认为转换它应该不难。
编辑:
java config为完整性起见
@Bean
public static PropertySourcesPlaceholderConfigurer properties() {
PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer = new PropertySourcesPlaceholderConfigurer();
YamlPropertiesFactoryBean yaml = new YamlPropertiesFactoryBean();
yaml.setResources(new ClassPathResource("default.yml"));
propertySourcesPlaceholderConfigurer.setProperties(yaml.getObject());
return propertySourcesPlaceholderConfigurer;
}
我找到了类YamlPropertiesFactoryBean,它似乎能够完成我需要的工作。 我的问题是我不确定如何在我的Spring应用程序中使用这个类(它正在使用基于注释的配置)。看来我应该使用setBeanFactory方法在PropertySourcesPlaceholderConfigurer中配置它。 以前,我使用@PropertySource加载属性文件,如下所示:
使用Spring Boot 1.3.0.Release 编辑:一种工作方法是手动操作:
问题内容: 我在玩反射,我想做点东西来加载一个类并打印该类中所有字段的名称。我制作了一个小型的hello world类型的类来检查一些东西: 基于以上所述,我得出两个结论: 它存在于/home/kent/eclipsews/SmallExample/bin/IndependentClass.class 有用!(因此它必须是可以由类加载器加载的正确的.class文件) 然后使用反射的代码:(标记导致
问题内容: 是否可以使用Javascript将CSS样式表导入html页面?如果是这样,怎么办? 附言:JavaScript将托管在我的网站上,但我希望用户能够放入其网站的标签,并且它应该能够将托管在我的服务器上的CSS文件导入当前网页。(css文件和javascript文件都将托管在我的服务器上)。 问题答案: 这是这样做的“老派”方法,希望可以在所有浏览器上使用。从理论上讲,不幸的是,您将使用
考虑以下代码: 我唯一发现的是: dump(Object data)方法接受Java对象并生成YAML文档 和 是只有我一个人,还是文档感觉非常神秘和指定?其中一半是关于我甚至从未听说过的特殊应用。我只看着它就觉得自己很傻,这让我有点生气。 不管怎样;如果你能给我任何帮助,我将不胜感激。
问题内容: 我想保留一个JSON文档来存储一些简单的数据,并且我需要此文档并在调用中使用JSON对象,以便可以使用它。这不是电话。我的意思是应该用于开发,但我确实希望在构建时编译文件,这与API 的实际调用不同,API的内容是动态的。 问题答案: 最简单的方法是为此使用requirejs json插件,这将使您也可以将文件包括在构建中。 https://github.com/millermedei