Spring mvc Spring MVC注释和HandleInterceptors

Spring mvc Spring MVC注释和HandleInterceptors,spring-mvc,Spring Mvc,我参与了一个使用Spring3.xMVC的项目,并使用注释实现了我们的控制器。我们最近有一个实现HandlerInterceptors的需求,对此我有一些问题。当我在配置中指定(dispatcher sevlet.xml)时,拦截器 <bean id="myInterceptor" class="com.myProject.controllers.MyInterceptor" /> <bean id="handlerMapping" class="org.springframe

我参与了一个使用Spring3.xMVC的项目,并使用注释实现了我们的控制器。我们最近有一个实现HandlerInterceptors的需求,对此我有一些问题。当我在配置中指定(
dispatcher sevlet.xml
)时,拦截器

<bean id="myInterceptor" class="com.myProject.controllers.MyInterceptor" />
<bean id="handlerMapping" class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
  <property name="interceptors">
    <list><ref bean="myInterceptor"/></list>
  </property>
</bean>

那么一切都很好,也就是说,任何URL匹配都会命中myInterceptor代码。当我尝试添加

 <property name="mappings">
    <props>
      <prop key="/addFile.request">myFileController
      </prop>
    </props>
  </property>

myFileController

然后我从未点击过
myInterceptor
代码…我还尝试使用
@RequestMapping
注释实现上述映射代码

如果您使用的是基于注释的配置,那么使用
标记来配置拦截器会更容易

例如


如果您使用的是基于注释的配置,那么使用
标记来配置拦截器会更容易

例如



有没有办法指定bean id而不是bean类?有没有办法指定bean id而不是bean类?
<mvc:interceptors>
 <!-- This runs for all mappings -->
 <bean class="my.package.GlobalInterceptor"/>
 <mvc:interceptor>
  <!-- This one only runs for a specific URL pattern -->
  <mvc:mapping path="/admin/*"/>
   <bean class="my.package.AdminInterceptor"/>
  </mvc:interceptor>
</mvc:interceptors>