Каковы общие стратегии определения группы компонентов, которые по-разному используются в средах разработки и производства?
Допустим, у меня есть 2 компонента, каждый из которых реализует один и тот же интерфейс.Один бин служит абстракцией для локальной файловой системы, другой подключается к распределенной файловой системе.Чтобы поддерживать развитие как можно более устойчивым, среда разработки должна использовать локальную реализацию файловой системы, в производственном выпуске используется компонент распределенной файловой системы.
В настоящее время я использую два определения xml.
native.xml
<bean id="resourceSystem" class="com.cust.NativeResourceSystem" />
distrib.xml
<bean id="resourceSystem" class="com.cust.HadoopResourceSystem">
<constructor-arg name="fs" ref="hdfs" />
</bean>
При создании контекста приложения я опускаю native.xml
или distributed.xml
в зависимости от среды и возьмите компонент resourceSystem
.
Существуют ли в Spring подходящие инструменты или рекомендации для настройки определений компонентов для различных сред?
Спасибо.