Одна вещь, которую мы здесь сделали, это загрузчик свойств, который сначала проверяет системные свойства.
например, у вас есть свойство с именем datasource.url
, которое загружается в ваш файл Spring.
Мы расширили ResourceLoader, чтобы сначала проверить системные свойства, чтобы увидеть, было ли свойство с таким именем, и если так, то оно будет загружать его, а не использовать значение из файла свойств.(На самом деле, я думаю, что Spring ResourceBundleMessageSource делает это «из коробки», если вы настраиваете его, но нам нужно было какое-то нестандартное поведение, в которое я не буду вдаваться).
Итак, если мы запустим наше приложение с помощью нескольких дополнительных командстроковые параметры:
-Ddatasource.url=[local-datasource-url]
Затем оно переопределяет значение из файла свойств.
Очевидно, что это проще сделать для приложения Swing (которое было у нас), чемвеб-приложение, но все еще возможно.