我正在尝试复制javaee6中的seam属性文件的加载,但仍然不知道从哪里开始。
在seam中,我们可以通过在components.xml中定义一个属性文件作为seam组件:
<component name="propertyBean" class="PropertyBean" scope="application" auto-create="true" startup="true">
<property name="filename">myPropertyFile.properties</property>
<property name="reload">true</property>
</component>
然后我们可以在代码中访问它:
PropertyBean.getInstance().getProperty("myProperty");
是否有javaee6功能可以复制此功能?或者在春天,它被称为PropertyPlaceholder。
在c#中,我们可以通过在appsettings.xml中添加配置属性来实现。并通过ConfigurationManager访问。
谢谢,
czetsuya
答案 0 :(得分:0)
不幸的是,没有什么比从seam到javaee6的属性组件管理器,但我能够找到类似的东西,属性加载器。
通过限定词来实现:
@Qualifier
@Retention(RUNTIME)
@Target({METHOD, FIELD, PARAMETER, TYPE})
public @interface ConfiguredBy {
@Nonbinding public String value();
}
使用参数作为属性文件的名称。
这里描述了整个方法: http://john-ament.blogspot.com/2010/03/writing-property-loader-in-java-ee-6.html