Spring: расположение конфигурации XML

Я, изучающий Spring, создал свой тестовый проект с контейнером Spring IOC и настроил beans.xml в корневом пути моего проекта, загрузил его в свое приложение и получил от него bean-компонент.

spring.xml в корневом каталоге проекта

BeanFactory bean = new XmlBeanFactory(new FileSystemResource("spring.xml"));

spring.xml в исходном файле

BeanFactory bean = new XmlBeanFactory(new FileSystemResource("src/spring.xml"));

это еще один код для загрузки файла beans.xml

ApplicationContext context = new GenericXmlApplicationContext("beans.xml");

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


person T.Malik    schedule 13.05.2015    source источник


Ответы (1)


Может быть полезно, чтобы определения bean-компонентов охватывали несколько файлов XML. Часто каждый отдельный файл конфигурации XML представляет собой логический уровень, такой как определение компонентов DAO и т. Д. В вашей архитектуре, но вы всегда должны размещать файлы конфигурации XML в src / resources и обращаться к ним как

new ClassPathXmlApplicationContext(new String[] {"services.xml", "daos.xml"});

Из руководства Spring:

Вы можете использовать конструктор контекста приложения для загрузки определений bean-компонентов из всех этих XML-фрагментов. Этот конструктор занимает несколько расположений ресурсов, как было показано в предыдущем разделе. В качестве альтернативы можно использовать одно или несколько вхождений элемента для загрузки определений компонентов из другого файла или файлов. Например:

<beans>
  <import resource="services.xml"/>
  <import resource="resources/messageSource.xml"/>
  <import resource="/resources/themeSource.xml"/>

</beans>
person Korhan Ozturk    schedule 13.05.2015
comment
и где мы будем размещать этот файл в структуре каталогов веб-приложения. - person T.Malik; 14.05.2015