Конфигурация источника свойств среды Spring
Я работаю над библиотекой приложений с утилитой класса под названием "Config
"который поддерживается веснойEnvironment
объект и предоставляет строго типизированные геттеры для всех значений конфигурации приложений.
Источники свойств для конфигурации могут различаться в зависимости от среды (DEV / PROD) и использования (автономный / тест / веб-приложение) и могут варьироваться от стандартных (системные и env-реквизиты) до пользовательских баз данных и источников JNDI.
Я борюсь с тем, чтобы приложения, использующие эту библиотеку, могли легко настроить источник (и) свойств, используемыеEnvironment
, так что свойства доступны для использования в нашемConfig
класс и черезPropertySourcesPlaceholderConfigurer
.
Мы все еще используем конфигурацию XML, поэтому в идеале это может быть настроено в XML примерно так.
<bean id="propertySources" class="...">
<property name="sources">
<list>
<ref local="jndiPropertySource"/>
<ref local="databasePropertySource"/>
</list>
</property>
</bean>
... и затем вводится каким-либо образом в коллекцию источников свойств окружающей среды.
Я читал, что что-то подобное может быть невозможным из-за синхронизации жизненного цикла контекста приложения, и что это может потребоваться с помощью класса инициализатора приложения.
Есть идеи?