Spring MVC @PropertySource将所有键/值作为映射

时间:2015-05-31 14:25:48

标签: java spring spring-mvc dictionary properties

在我的Spring MVC应用程序中,我想从指定的属性文件中读取所有键/值。 我通过

将属性文件包含到我的java类中
@PropertySource("classpath:user-form-validation-configuration.properties")

并且可以一次读取一个键

@Autowired
Environment env;

env.getProperty("userIdEmail")

请帮助我如何将所有键/值作为地图

由于 马努

1 个答案:

答案 0 :(得分:4)

实现同样目标的一种方法是Spring: access all Environment properties as a Map or Properties object,其次是:

<bean id="myProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
  <property name="location" value="classpath:user-form-validation-configuration.properties"/>
</bean>

For,Annotation based:

@Bean(name = "myProperties")
public static PropertiesFactoryBean mapper() {
        PropertiesFactoryBean bean = new PropertiesFactoryBean();
        bean.setLocation(new ClassPathResource(
                "user-form-validation-configuration.properties"));
        return bean;
}

然后您可以使用以下方式在您的应用程序中选择它们:

@Resource(name = "myProperties")
private Map<String, String> myProperties;