Ich versuche, einen Interceptor mithilfe einer annotierungsgesteuerten Controller-Konfiguration zu registrieren. Soweit ich das beurteilen kann, habe ich alles richtig gemacht, aber wenn ich versuche, den Abfangjäger zu testen, passiert nichts. Nach einem Blick in den Protokollen fand ich folgendes:Spring lehnt Bean-Namen ab, keine URL-Pfade angegeben
2010-04-04 20:06:18,231 DEBUG [main] support.AbstractAutowireCapableBeanFactory (AbstractAutowireCapableBeanFactory.java:452) - Finished creating instance of bean 'org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping#0'
2010-04-04 20:06:18,515 DEBUG [main] handler.AbstractDetectingUrlHandlerMapping (AbstractDetectingUrlHandlerMapping.java:86) - Rejected bean name 'org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping#0': no URL paths identified
2010-04-04 20:06:19,109 DEBUG [main] support.AbstractBeanFactory (AbstractBeanFactory.java:241) - Returning cached instance of singleton bean 'org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping#0'
Blick auf die zweite Zeile dieses Log-Schnipsel. Sperrt Spring die Bean DefaultAnnotationHandlerMapping? Und wenn ja, könnte das das Problem sein, wenn mein Abfangjäger nicht funktioniert?
Hier ist mein Anwendungskontext:
<?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:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"
default-autowire="byName">
<!-- Configures the @Controller programming model -->
<mvc:annotation-driven />
<!-- Scan for annotations... -->
<context:component-scan base-package="
com.splash.web.controller, com.splash.web.service, com.splash.web.authentication"/>
<bean id="authorizedUserInterceptor" class="com.splash.web.handler.AuthorizedUserInterceptor"/>
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="interceptors">
<list>
<ref bean="authorizedUserInterceptor"/>
</list>
</property>
</bean>
Hier ist mein Interceptor:
package com.splash.web.handler;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
public class AuthorizedUserInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
log.debug(">>> Operation intercepted...");
return true;
}
}
jemand tut etwas falsch mit diesem sehen? Was bedeutet der Fehler, den ich oben erwähnt habe, und könnte er einen Einfluss darauf haben, dass der Interceptor nicht aufgerufen wird? Vielen Dank!
Für mich ist es tritt auf, wenn ich Compiler Java geändert 1,7-1,6. –