Установка свойств класса в Java, Spring config Vs System Properties file - PullRequest
4 голосов
/ 18 октября 2011

Мы можем использовать как конфигурационный файл Spring, так и файл .properties для хранения и извлечения некоторых свойств, например, для соединения с базой данных.(db url, db password и т. д.)

Мы также можем использовать вместе конфигурационный файл Spring и файл .properties, где мы ссылаемся на свойство из файла .property (как в ant) ​​

Каковы будут преимущества или недостатки следующих сценариев:

1 - Использование только файла .properties.
2 - Использование только конфигурационного файла Spring.
3 - Использование обоих вместе.

Будет ли какой-либо из сценариев лучше, когда речь идет о техническом обслуживании?

Мне нужно выбрать один из трех вариантов, и я хотел бы иметь более здравое суждение, прежде чем идти с любымопции!

Заранее спасибо!
- Ивар

1 Ответ

6 голосов
/ 18 октября 2011

Оба вместе. Используйте файл свойств, который выводится из вашего проекта для настройки Spring. Spring тогда настраивает ваш проект. В основном вы не пишете код для чтения из файлов свойств. Пусть Spring справится с этим и введет в ваши объекты соответствующие значения. Тогда у вас есть соответствующее внедрение зависимости, и созданный артефакт не зависит от среды.

Недостатки:

  1. Как ваш код узнает, из какого файла загружать свойства? Разве это не собственность? Это также нарушало внедрение зависимостей, когда код находил ресурс, а не пассивно принимал его.
  2. Конфигурация тесно связана с вашим артефактом и не может меняться между средами без перестройки (BAD).
  3. То, как вы об этом думаете, сочетает в себе недостатки двух других, но если вы делаете это так, как я описал, это устраняет эти недостатки, что является преимуществом.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...