Файл свойств vs Класс констант в Java - программирование
Подтвердить что ты не робот

Файл свойств vs Класс констант в Java

Я немного смущен между использованием файла констант и файла свойств в Java.

Как решить, когда использовать Constants.java и когда использовать файл .properties?

4b9b3361

Ответ 1

Используйте жесткие константы в коде Java, если вы не хотите, чтобы пользователи/развертыватели/тестеры/тесты меняли их.

Используйте файл свойств, если вы хотите, чтобы это было возможно.

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

Ответ 2

Мой контрольный список

Файл свойства:

Может ли он настраиваться для каждой среды и т.д.

Сообщения, метки и т.д.

Применимо к конкретной ситуации (список состояний для правил и т.д.). пары ключ-значение. Может быть изменен кем-то, кроме разработчика, т.е. аналитиков, бизнес-пользователей и т.д.

Constant:

Являются константами. Не настраивается. В основном для оптимизации и повторного использования. Чтобы избежать разброса ключей.

Для констант, таких как YES = "yes". На самом деле это не ключевое значение. Ключи для кеша и т.д.

Константы для обеспечения того, что поиск и установка используют один и тот же ключ, хотя из разных мест приложения, ПРИМЕР xyz.put(KeyConstants.SOME_KEY, "somevalue" ); xyz.get(KeyConstants.SOME_KEY) из разных классов, ofyouse xyz является общим или одиночным.

Ответ 3

  • Константы - если вы не возражаете перекомпилировать приложение каждый раз, когда вы изменяете значение. Вид иронии здесь. Зачем вам что-то менять, если он был вызван константой:)

  • Файл свойств - если вам нужна роскошь просто изменить значение и, возможно, перезапустить приложение, чтобы получить изменения.

Ответ 4

Как правило, что-либо в классе констант считается "жестко запрограммированным"; то есть вы должны перекомпилировать для внесения изменений.

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

Ответ 5

Обычно вы используете файлы свойств, когда хотите указать параметры, которые варьируются от развертывания до развертывания или с течением времени.

Вы используете константы, когда параметры не являются динамическими и, следовательно, не должны изменяться в зависимости от внешних факторов. Вы должны перекомпилировать класс каждый раз, когда вы меняете значение.

Ответ 6

Существует много разных аспектов. Наиболее важными являются

  • вы можете редактировать файлы свойств и использовать его без повторной компиляции своего приложения;
  • файлы свойств не содержат кода, поэтому каждый может изменить их без каких-либо знаний Java.

Эти аспекты делают файл свойств действительно полезным для хранения конфигураций.

С другой стороны, классы констант должны быть скомпилированы, но являются "более безопасными", если вы планируете не изменять эти константы очень часто.

Ответ 7

Константы фиксируются во время компиляции. Так что если вы не предвидите никаких изменений значений, то константы будут хорошей идеей.

Ответ 8

Свойства имеют то преимущество, что они являются внешними. У вас может быть один файл свойств для разработки, другой для тестирования и другой для производства. Много раз, правда, редко изменяемые свойства, которые являются внутренними для работы программного обеспечения, помещаются в файл свойств, что затрудняет их управление.

Константы OTOH скомпилированы, поэтому любые ошибки будут обнаружены во время компиляции.

Итак, ответ, это зависит. Если значения в свойствах действительно являются изменениями конфигурации, вы хотите выполнить экстернализацию, а затем использовать файл свойств. иначе сделайте их константами Java. Однако вы можете использовать оба.