2016-04-01 4 views
1

Commons Configuration 2.0 отсутствует. С Commons Configuration 1.0 появился заводской фасоль Spring-модулей (org.springmodules.commons.configuration.CommonsConfigurationFactoryBean), который позволяет прямое использование Конфигурации Commons с Spring PropertyPlaceholderConfigurer. Поскольку это больше не поддерживается, вопрос заключается в том, как это сделать с Commons Configuration 2.0.Используйте Commons Configuration 2 как PropertySource весной

Конечно, должно быть возможно скопировать существующие модули Spring в проект и перенести его на 2.0. Я знаю, что Spring предлагает YAML, но он должен быть еще Commons Configuration (существующие файлы конфигурации XML не должны быть затронуты).

ответ

2

Я внес PropertySource для конфигурации Commons, это часть версии> = 2,1: org.apache.commons.configuration2.spring.ConfigurationPropertySource

Используйте его, например, в расширенном PropertySourcesPlaceholderConfigurer:

public class ApacheCommonsConfigPlaceholderConfigurer extends PropertySourcesPlaceholderConfigurer { 

    public ApacheCommonsConfigPlaceholderConfigurer(Configuration configuration) { 
    ConfigurationPropertySource apacheCommonsConfigPropertySource = 
     new ConfigurationPropertySource(configuration.getClass().getName(), configuration); 
    MutablePropertySources propertySources = new MutablePropertySources(); 
    propertySources.addLast(apacheCommonsConfigPropertySource); 
    setPropertySources(propertySources); 
    } 
} 

код будет проще, если эта проблема решена: https://jira.spring.io/browse/SPR-9631

Смотрите также: http://mail-archives.apache.org/mod_mbox/commons-user/201604.mbox/%[email protected]%3E