Подтвердить что ты не робот

Хорошая практика включает конфигурацию XML в Java classpath?

Мое приложение настроено с помощью некоторых конфигурационных файлов XML Spring.

Является ли хорошей практикой в ​​Java включать XML файлы в путь к классам и ссылаться на них в моем приложении, используя путь к классам?

4b9b3361

Ответ 1

Обычно я обычно смотрю в системном свойстве, а затем в pathpath. так:

java -DconfigFile=/filelocation/file.xml

можно прочитать как:

String propfile = System.getProperty(configFile);
if (propfile != null) {
 // read in file
  new File(propfile);
 ...
} else {
  // read in file from classpath
  getClass.getResource("/configfile.xml")
}

Ответ 2

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

Ответ 3

Я согласен с предыдущим плакатом (+1) - имею возможность в случае, если в какой-то день вам это понадобится. Однако есть один улов. Вы могли бы создать себе много головной боли, если такая мощная инструментальная техника приземлится в чужие руки. Нет большой разницы между spring контекстными файлами и java-классами, это код. Итак, проверьте, кто ваши пользователи. Один из энтузиастов QA-гуру может сделать вашу жизнь несчастной, если вы не готовы.

Ответ 4

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

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