Мало перепутанный, основная пружина mvc приложение имеет это:
app-config.xml
<context:component-scan base-package="org.springframework.samples.mvc.basic" />
и mvc-config.xml имеет:
<!-- Configures the @Controller programming model -->
<mvc:annotation-driven />
Вам действительно нужны оба?
для сканирования компонента это означает, не помещаю ли я корректный путь пакета, мой @Controller и @Service маркеры не будут иметь никакого эффекта? Если мне нужен больше чем один пакет, я просто копирую запись?
Я пытался использовать просто mvc:annotation-управляемый, но это не работало, я должен был поместить com.example.web.controllers в сканирование компонента xml узел, чтобы заставить его работать.
context: component-scan is clear
Сканирует путь к классам на предмет аннотированных компонентов, которые будут автоматически зарегистрированы как компоненты Spring . По умолчанию предоставленные Spring стереотипы @Component, @Repository, @Service и @Controller будут обнаружены.
Итак, @Controller - это просто компонент Spring. Ничего больше.
И
mvc: управляемый аннотациями
регистрирует HandlerMapping и HandlerAdapter, необходимые для отправки запросов вашим @Controllers
Что похоже на
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>
Если мне нужно более одного пакета, сделайте Я просто продублирую запись?
Можете, если хотите. контекст: компонентное сканирование - это просто постпроцессор bean-компонента .
<context:component-scan base-package="br.com.app.view.controller"/>
<context:component-scan base-package="br.com.app.service"/>
Или
Используйте список пакетов, разделенных запятыми, для поиска аннотированных компонентов.
<context:component-scan base-package="br.com.app.view.controller,br.com.app.service"/>
mvc: управляемый аннотациями
позволяет настраивать поведение Spring MVC. См. Подробности в документации . Для базового использования Spring MVC он вам не нужен.