2015-05-31 3 views
1

В моем приложении MVC Spring я хочу прочитать ВСЕ ключ/значения из файла свойств. Я включаю файл свойств моего класса Java с помощьюSpring MVC @PropertySource all Ключ/значение как карта

@PropertySource("classpath:user-form-validation-configuration.properties") 

и может прочитать один ключ в то время

@Autowired 
Environment env; 

и env.getProperty("userIdEmail")

Пожалуйста, помогите мне, как получить все ключ/как map

Thanks Manu

ответ

3

Одним из способов достижения же 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> 

Ибо, аннотаций на основе:

@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; 
+0

Спасибо много Arpit, второй вариант более чист и ясен. Но я могу избежать создания bean-файла в xml file.direct может включать файл свойств в m y Java-класс или аннотированный класс для загрузки файла свойств. – Manu

+0

yes got it, in jjava Я могу настроить. @ Bean (name = "myProperties") public static PropertiesFactoryBean mapper() { PropertiesFactoryBean bean = new PropertiesFactoryBean(); bean.setLocation (новый ClassPathResource ("user-form-validation-configuration.properties")); фасоль; } – Manu

+0

Обновлено сообщение для аннотации. – Arpit

Смежные вопросы