我正在将XML转换为基于Java的Spring 3配置,并且无法找到一种方法来“翻译”使用通配符作为资源路径的bean:
<bean id="messageSource" class="MyResourceBundleMessageSource">
<property name="resources" value="classpath*:messages/*.properties" />
</bean>
相应的类看起来像:
public class MyResourceBundleMessageSource
extends org.springframework.context.support.ResourceBundleMessageSource {
...
public void setResources(org.springframework.core.io.Resource... resources)
throws java.io.IOException { ... }
...
}
“手动”枚举所有文件是没有选择的,因为这是一个包含相当多文件的多模块项目,我也想避免更改bean类(因为它实际上位于一个公共库中) )。
答案 0 :(得分:7)
按照Sotirios Delimanolis的建议,我得到了它的工作:
@Bean
public MyResourceBundleMessageSource messageSource() throws IOException {
MyResourceBundleMessageSource messageSource = new MyResourceBundleMessageSource();
messageSource.setResources(new PathMatchingResourcePatternResolver().getResources("classpath*:messages/*.properties"));
return messageSource;
}