Простая поддержка окружений в Spring 3.1+
Многие знают что для подстановки значений в конфигурационные файлы Spring можно использовать context:property-placeholder.
Но, при данном подходе, можно лишь подставить различные значения параметров, но не изменить логику развертывания контекста. А ведь, в некоторых случаях, нам необходимо развернуть огромную систему, интегрированную с внешними системами, а в некоторых — просто одну маленькую заглушку.
Когда передо мной встала задача, в зависимости от окружения (dev, prod, load-test), изменить логику развертывания — я искренне попытался использовать старый проверенный способ через property.
И я сделал следующее: