A.3. dispatcher-spring.xml
Файлы данного типа определяют конфигурацию дополнительного контейнера Spring Framework для клиентских блоков, содержащих контроллеры Spring MVC.
Дополнительный контейнер контроллеров создается таким образом, что основной контейнер (конфигурируемый файлами spring.xml
) является родительским по отношению к нему. Это означает, что бины контейнера контроллеров могут обращаться к бинам основного контейнера, а бины основного контейнера "не видят" контейнер контроллеров.
Набор файлов dispatcher-spring.xml
, включая определенные в базовых проектах, задается в свойстве приложения cuba.dispatcherSpringContextConfig
. Последовательность перечисления файлов важна, так как каждый последующий файл может переопределять конфигурацию бинов, заданную в предыдущих файлах.
Модули web и portal платформы уже содержат такие файлы конфигурации: соответственно cuba-dispatcher-spring.xml
и cuba-portal-dispatcher-spring.xml
. Первый обеспечивает работу контроллеров загрузки и выгрузки файлов, второй - работу контроллеров REST API.
Если вы создали контроллеры Spring MVC в своем проекте (например, в модуле web), добавьте следующую конфигурацию:
-
Создайте файл
modules/web/src/dispatcher-config.xml
(предполагается что ваши контроллеры находятся в пакетеcom.company.sample.web.controller
):<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd"> <context:annotation-config/> <context:component-scan base-package="com.company.sample.web.controller"/> </beans>
-
Включите файл в свойство приложения cuba.dispatcherSpringContextConfig в файле
modules/web/src/web-app.properties
:cuba.dispatcherSpringContextConfig = cuba-dispatcher-spring.xml dispatcher-spring.xml