Estoy usando Spring 3.0.5 con <context:component-scan>
y @RequestMapping
anotaciones en mis controladores. Esto funciona, y las URL se registran mediante el escaneo del paquete.<context: component-scan> no recogiendo mis @RequestMappings si las asignaciones del controlador definidas en XML
Pero hay un problema cuando tengo una asignación de controlador definida en la configuración XML. Las anotaciones @RequestMapping
ya no se recogen.
He aislado el problema en una aplicación simple.
Si tengo el siguiente controlador:
package test.pack.age;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class TestController {
@RequestMapping(value="/test")
public String showTestPage() {
return "testPage";
}
}
y la siguiente configuración:
<context:component-scan base-package="test.pack.age" />
<bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
la aplicación funciona correctamente y el URL /test
se registra y funciona correctamente.
18/09/2011 20:02:55 org.springframework.web.servlet.handler.AbstractUrlHandlerMapping INFO Mapped URL path [/test] onto handler 'testController'
18/09/2011 20:02:55 org.springframework.web.servlet.handler.AbstractUrlHandlerMapping INFO Mapped URL path [/test] onto handler 'testController'
Pero si agrego una asignación de controlador al XML, ya no funciona. Incluso algo tan simple como esto:
<bean id="handlerMappings" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping" />
que básicamente no hace nada, y el <context:component-scan>
ya no registra mi URL.
Necesito un mapeo de controlador adicional para algunos controladores (de terceros) que no puedo anotar, pero al agregarlo rompe todos mis @RequestMapping
s.
¿Es esto normal? ¿Un insecto? (No puedo cambiar la versión de Spring)
¿Echo de menos algo?