Платформа конфигурации Java [закрывается]

for line in reversed(open("filename").readlines()):
    print line.rstrip()

И в Python 3:

for line in reversed(list(open("filename"))):
    print(line.rstrip())
75
задан 7 revs, 4 users 40% 21 December 2010 в 10:26
поделиться

12 ответов

Если Ваши значения hardcoded являются просто простыми парами "ключ-значение", необходимо посмотреть java.util. Свойства . Это намного более просто, чем xml, легче использовать, и отупляющим образом тривиальный для реализации.

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

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

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

29
ответ дан Mike Stone 24 November 2019 в 11:40
поделиться

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

действительно ли это является лучшим? Я не думаю так, я действительно как JSON, но инструменты все еще не до XML, таким образом, я предполагаю, что мы должны ожидать и видеть.

2
ответ дан dlinsin 24 November 2019 в 11:40
поделиться

Если Вы хотите сделать что-то усовершенствованное (и безопасный с точки зрения типов), Вы могли бы хотеть смотреть на это: http://www.ibm.com/developerworks/java/library/j-configint/index.html

5
ответ дан lowellk 24 November 2019 в 11:40
поделиться

Конфигурация палаты общин

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

, Если бы Вы ничего не делаете, усложнил, я придерживался бы properites файлов.

6
ответ дан ScArcher2 24 November 2019 в 11:40
поделиться

Apache Конфигурация палаты общин работает отлично. Это поддерживает хранение конфигурации в широком спектре форматов на бэкенде включая свойства, XML, JNDI, и т.д. Это просто в использовании и расширяться. Для вытаскивания наибольшей гибкости из него используют фабрика , чтобы получить конфигурацию и просто использовать Интерфейс конфигурирования после этого.

Две функции Конфигурации палаты общин, которые дифференцируют его по прямому файлу Свойств, - то, что это поддерживает автоматическое преобразование в общие типы (интервал, плавание, Массивы строк), и это поддерживает замену свойства:

server.host=myHost
server.url=http://${server.host}/somePath
42
ответ дан RAnders00 24 November 2019 в 11:40
поделиться

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

, К сожалению, у меня нет опыта с определенными библиотеками для Java (кроме с теми, я записал меня), но любые указатели ценились бы.

Обновление

хорошо. Это не было совершенно верно, три Проект .

Конфигурации Java Spring
3
ответ дан Anders Sandvig 24 November 2019 в 11:40
поделиться

Файлы свойств очень простые, если вам нужно что-то более функциональное , вы можете отформатировать некоторые файлы конфигурации как классы Java. Они могут быть помещены в другой пакет / модуль и могут быть предварительно скомпилированы или загружены во время выполнения с помощью такой библиотеки, как BeanShell.

Примечание: в простейшем случае (предварительно скомпилированный) вы не

0
ответ дан 24 November 2019 в 11:40
поделиться

Что касается предложений по использованию java.util.Properties - начиная с jdk 1.5, предпочтительной альтернативой использованию API предпочтений (java.util.prefs) является API свойств.

Причины: повышенная масштабируемость, нейтралитет серверной части и т. Д.

0
ответ дан 24 November 2019 в 11:40
поделиться

Вот несколько вариантов:

Вы можете прочитать Сравнение конфигурации Commons с JFig и JConfig и Настройка ваших приложений с использованием JFig для получения отзывов от различных пользователей.

] Лично я использовал jConfig, и это был хороший опыт.

20
ответ дан 24 November 2019 в 11:40
поделиться

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

YAML - это человеческий формат читаемых данных. Он обладает большей выразительной способностью, чем java.util.Properties. Вы можете иметь списки, карты, якоря, типизированные данные и т.д.

.
1
ответ дан 24 November 2019 в 11:40
поделиться

Пожалуйста, посмотрите на этот URL: http://issues.apache.org/jira/browse/CONFIGURATION-394

Структура конфигурации, которую мы ищем, это что-то поверх Apache Commons Configuration и должна поддерживать Concurrency Issues, JMX issues и большинство хранилищ (например, .properties file, .xml files или PreferencesAPI).

То, что команда weblogic предоставляет в 'Administration Console', интересно тем, что через нее вы можете иметь транзакционные (атомарные) обновления конфигураций так, что зарегистрированные слушатели будут уведомлены.

Ребята из Apache настаивают на том, что этот проект выходит за рамки Commons Configuration, возможно!

Я приложил простой фреймворк конфигурации, посмотрите, пожалуйста.

1
ответ дан 24 November 2019 в 11:40
поделиться

Я только что опубликовал небольшой фрагмент кода об использовании Spring ClassPathResource в качестве альтернативы IoC. ClassPathResource позволяет размещать файлы свойств в любом месте пути к классам (например, все в одном месте или как одноранговые узлы для кода, который они настраивают. В моем примере просто используется java.util.Properties, поэтому вы можете использовать стиль открытого текста "name = value" или его формат XML.

1
ответ дан 24 November 2019 в 11:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: