Вопрос

У меня есть приложение, структурированное следующим образом:

  • дао
  • домен
  • основной
  • Сервисы
  • утилизация

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

По рефлексу я бы поместил его в утилиты, но утилиты имеют статические методы, а в том, что этот класс использует экземпляр Apache Commons XMLConfiggation. Должен ли я просто адаптировать методы, поэтому этот экземпляр ограничен объемами методов в этом классе?

Это было полезно?

Решение

Я предполагаю, что предметы являются пакетами, поэтому я пошел с основной упаковка.

  • дао
  • домен
  • основной Содержит приложение и его конфигурационные читатели
    • конфигурация
    • журнал
  • Сервисы
  • утилизация

Почему? Конфигурация приложения, будь то в XML или нет, и, основаны ли он на структуре приложений, таких как пружина или нет, является частью его основной функциональности. Загрузка на приложение является основной ответственностью приложения. Все бизнес-функциональность, все блестящие особенности, которые она обеспечивает, реализованы в домене и сервисных слоях.

Вы правы, Utils все о статических или аналогичных инструментах. Поскольку конфигурация приложения очень важно, я бы не объявил его утилитой. Утилита - это то, что можно легко заменять на другую полезность одного типа (например, StringUtil против. StringUtils против. IOUtils И т.д. У них все имеют очень похожие функциональные возможности)

Другие советы

Это зависит от системы сборки и типа приложений, которые вы используете IG Maven, предложил бы разместить Configfiles в SRC / Главная / Ресурсы

В файле войны вы могли бы разместить их в Web-inf или Web-Inf / Config

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

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

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

Для недвижимости на основе данных конфигурации PropertyBaceFolderConfigurer. это хорошее решение.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top