Где хранить переменные конфигурации веб-приложения? - PullRequest
3 голосов
/ 08 сентября 2011

Почему бы вам не хранить переменные конфигурации веб-приложения просто в файле класса?

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

Ответы [ 2 ]

4 голосов
/ 08 сентября 2011

Почему бы вам не хранить переменные конфигурации веб-приложения просто в файле класса?

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

Ваше веб-приложение должно быть спроектировано таким образом, чтобы конфигурация могла быть изменена извне, и желательно также, чтобы она могла перезагрузить конфигурацию по требованию (например, кнопка на странице администратора) или даже автоматически (например, с помощью @Schedule @Singleton). Таким образом, serveradmin должен просто отредактировать простой и самодокументируемый текстовый файл, а не ждать или даже несколько дней, чтобы запустить его в производство.

1 голос
/ 08 сентября 2011

Вы сохраняете это в своем проекте ...

Чтение и запись файла свойств

// Read properties file.
Properties properties = new Properties();
try {
    properties.load(new FileInputStream("filename.properties"));

} catch (IOException e) {
}

//read an item
String prop = properties.getProperty("a");

// Write properties file.
try {
    properties.store(new FileOutputStream("filename.properties"), null);
} catch (IOException e) {
}

Вот пример содержимого файла свойств:

# a comment
! a comment

a = a string
b = a string with escape sequences \t \n \r \\ \" \' \ (space) \u0123
c = a string with a continuation line \
    continuation line
d.e.f = another string

взято из: http://www.exampledepot.com/egs/java.util/Props.html

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