рамки конфигурации Java

голоса
72

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

Пожалуйста, только ответ, если у вас есть практический опыт работы с рамками. Я не ищу примеры, но опыт ...

Задан 25/08/2008 в 09:17
источник пользователем
На других языках...                            


14 ответов

голоса
42

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

Две особенности конфигурации Commons, которые отличают его над файлом прямого Properties является то, что он поддерживает автоматическое преобразование общих типов (Int, Float, String массивов) и поддерживает замену свойства:

server.host=myHost
server.url=http://${server.host}/somePath
Ответил 29/08/2008 d 15:52
источник пользователем

голоса
29

Если значения жестко вписаны только простые пары ключ-значение, вы должны смотреть на java.util.Properties . Это намного проще , чем XML, проще в использовании, и ум-numbingly просто реализовать.

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

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

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

Ответил 25/08/2008 d 09:23
источник пользователем

голоса
20

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

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

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

Ответил 26/10/2009 d 02:43
источник пользователем

голоса
6

Конфигурация фонда

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

Если вы ничего сложного не делают, я бы придерживаться Properites файлов.

Ответил 25/08/2008 d 15:09
источник пользователем

голоса
5

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

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

Его все еще в бета - версии, но достаточно стабильны, я использую его для моего исследования, для конфигурации и документирования экспериментов, а также для учебных целей . После того, как он доступен для других языков (C ++ адаптер в трубе), другие исследователи / практики могут повторно использовать дескрипторы работы их реализации одних и тех же алгоритмов в C ++ ( с использованием концепции отображения кода). Таким образом, экспериментальные результаты могут быть подтверждены / программы могут быть перенесены более легко . Документация по - прежнему в рабочем процессе, но пара примеров доступны на этой странице. Ввод данных является открытым исходным кодом программного обеспечения.

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

Ответил 31/08/2012 d 15:01
источник пользователем

голоса
5

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

Ответил 28/10/2008 d 07:53
источник пользователем

голоса
3

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

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

Обновить

ОК. Это было не совсем верно, три является проект Spring Java конфигурации .

Ответил 25/08/2008 d 10:30
источник пользователем

голоса
2

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

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

Ответил 25/08/2008 d 11:36
источник пользователем

голоса
1

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

Ответил 13/04/2010 d 13:16
источник пользователем

голоса
1

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

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

Что WebLogic команда предоставляет на «Консоль администрирования» является межжал, который через него вы можете иметь транзакционные (атомные) обновления на конфигурацию так, зарегистрированные слушатели уведомляются.

Ребята Apache настаивают на том, что этот проект вне границ конфигурации Commons, может быть!

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

Ответил 15/03/2010 d 14:23
источник пользователем

голоса
1

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

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

Ответил 23/12/2009 d 00:26
источник пользователем

голоса
0

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

Ответил 01/02/2012 d 22:34
источник пользователем

голоса
0

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

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

Ответил 16/06/2009 d 23:27
источник пользователем

голоса
0

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

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

Ответил 12/05/2009 d 19:31
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more