现在我正在春天阅读属性文件
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="customer/messages" />
</bean>
这里我指定在客户目录中读取messages.properties。但我想要做的是指定一个目录并让spring读取该目录中的所有属性文件。我怎样才能做到这一点?
我尝试了value =“customer / *”,但它不起作用。
答案 0 :(得分:4)
更推荐使用<context:property-placeholder>
:
<context:property-placeholder
locations="classpath:path/to/customer/*.properties" />
您也可以使用Spring 3.1+ Java Config执行此操作:
@Bean
public static PropertyPlaceholderConfigurer properties(){
PropertyPlaceholderConfigurer ppc = new PropertyPlaceholderConfigurer();
Resource[] resources = new ClassPathResource[ ]
{ new ClassPathResource( "path/to/customer/*.properties" ) };
ppc.setLocations( resources );
ppc.setIgnoreUnresolvablePlaceholders( true );
return ppc;
}
您可能需要定制资源类型以从以下位置加载属性:
要使用属性,可以使用Environment
抽象。它可以注入并用于在运行时检索属性值。
答案 1 :(得分:1)