加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

在基于Java的Spring配置中搜索资源时如何使用通配符?

发布时间:2020-12-15 04:14:20 所属栏目:Java 来源:网络整理
导读:我正在将 XML转换为基于 Java的Spring 3配置,并且无法找到一种方法来“翻译”使用通配符作为资源路径的bean: bean id="messageSource" class="MyResourceBundleMessageSource" property name="resources" value="classpath*:messages/*.properties" //bean
我正在将 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类(因为它实际上位于公共库中).

解决方法

按照Sotirios Delimanolis的建议,我得到了它的工作:

@Bean
public MyResourceBundleMessageSource messageSource() throws IOException {
    MyResourceBundleMessageSource messageSource = new MyResourceBundleMessageSource();
    messageSource.setResources(new PathMatchingResourcePatternResolver().getResources("classpath*:messages/*.properties"));
    return messageSource;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读