Лучшая практика для хранения данных конфигурации - PullRequest
1 голос
/ 09 февраля 2020

Какова наилучшая процедура для хранения данных конфигурации ?
У меня есть несколько классов, которым требуются некоторые данные конфигурации, необходимые только для их класса.
Должен ли я загрузить все эти данные из файл конфигурации или я должен жестко закодировать его в классы?
Заранее большое спасибо

1 Ответ

3 голосов
/ 09 февраля 2020

Чтобы ответить на ваш вопрос:

Должен ли я загрузить все эти данные из файла конфигурации или жестко закодировать их в классы?

В основном, если вы жестко запрограммируете какое-либо значение в классе, вы не собираетесь изменять это значение в разных средах . Каждое такое изменение потребует перекомпиляции проекта.

Например, если у вас есть константа для PI=3.14, не имеет смысла использовать разные значения для разных сред.

В качестве альтернативы, если вы go используете файлы конфигурации, обновление такого файла, который может поставляться со сценарием развертывания, будет намного проще.

Примером этого может быть хост / порт базы данных. Разработка может использовать один хост, а производство может использовать другой.

Таким образом, вы должны решить, что подходит вам лучше всего.

Это общее для всех типов приложений (не только Spring Boot Driven).

Теперь верно, что при весенней загрузке вы можете создать файл конфигурации (свойства или yaml) и поместить его в артефакт (поместив его в src/resources/ или src/resources/config).

Для некоторых ситуаций это достаточно хорошо, для других вы можете использовать другой способ настройки.

Я не имею в виду управление секретами здесь, это более сложный вопрос, но в целом вы выиграли не хочу управлять такими вещами, как пароли, ни в исходном коде (в жестком коде), ни в файле конфигурации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...