java - 读取目录中的所有属性文件

标签 java spring properties-file

现在我正在 Spring 读取属性文件

<bean id="messageSource"
    class="org.springframework.context.support.ResourceBundleMessageSource">
    <property name="basename" value="customer/messages" />
</bean>

这里我指定读取客户目录中的 messages.properties。但我想要做的是指定一个目录并要求 spring 读取该目录中存在的所有属性文件。我怎样才能实现这一目标?

我尝试了 value="customer/*"但它不起作用。

最佳答案

使用<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 抽象。它可以被注入(inject)并用于在运行时检索属性值。

关于java - 读取目录中的所有属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20733106/

相关文章:

java - 如何使用 Spring Boot 在 application.properties 中注入(inject) Maven 配置文件的属性

java - 如何从库读取.properties文件到spring maven项目

java - 有效的 XML 和 DTD 未验证

java - 其余模板结果在 Spring Boot 中的 api 调用中获取 null

groovy - 使用 Groovy 从属性文件中获取值

java - 使用 S3 路径创建获取休息请求以进行事务

spring - JavaFX + Spring(JDBC 和@SpringBootApplication 和@Autowired 和@Transactional)

java - 测试两者都包含的字符串结果\n

java - 使用Java Swing GUI制作石头、剪刀、布、蜥蜴、斯波克

java - 为什么我的子流程会抛出错误? (Java.lang.VerifyError : Bad local variable type)