Каков правильный способ разделить конфигурацию Spring на несколько xml-файлов?Разделение приложенияКонтекст для нескольких файлов
На данный момент у меня
/WEB-INF/foo-servlet.xml
/WEB-INF/foo-service.xml
/WEB-INF/foo-persistence.xml
web.xml
My имеет следующее:
<servlet>
<description>Spring MVC Dispatcher Servlet</description>
<servlet-name>intrafest</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/foo-*.xml
</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/foo-*.xml
</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
Актуальные вопросы:
- такой подход правильный/лучший?
- Нужно ли мне указывать места конфигурации как в
DispatcherServlet
Иcontext-param
разделы?
Что мне нужно сделать, чтобы иметь в виду, чтобы иметь возможность ссылаться на фасоль, определенные в foo-servlet.xml
от foo-service.xml
? Связано ли это с указанием contextConfigLocation
в web.xml
?
Update 1:
Я использую Spring рамки 3,0. Я понимаю, что мне не нужно делать импорт ресурсов следующим образом:
<import resource="foo-services.xml"/>
Это правильное предположение?
+1 - моя установка выглядит точно так же, как это. Хотя я не думаю, что есть какие-то практические преимущества/недостатки этой установки, а также указание нескольких файлов конфигурации в web.xml - это просто похоже на семантику. –
Я определенно считаю, что конфигурация по умолчанию выгодна: соглашение по конфигурации. Вместо того, чтобы указывать несколько файлов конфигурации с * extra config *, у вас есть только один файл конфигурации «верхнего уровня» по умолчанию *, который будет импортировать те же файлы, которые в противном случае вам нужно было бы указать в любом случае. – eljenso
Когда вы используете импорт, будьте осторожны, чтобы не импортировать один и тот же файл несколько раз (импорт внутри импорта и т. Д.), Так как это приведет к созданию нескольких компонентов и приведет к затруднительным поискам ошибок. –