DefaultAnnotationHandlerMapping
2015-05-29 15:23
232 查看
开始是为了实现一个全局的拦截器DefaultHandlerInterceptor,继承HandlerInterceptorAdapter类
并把这个类注入到Spring的DefaultAnnotationHandlerMapping的interceptors中
配置如:
<!-- 处理在类级别上的@RequestMapping注解 -->
<bean
class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="interceptors">
<list>
<!-- 多个拦截器,顺序执行 -->
<ref bean="SpringMVCInterceptor" />
<ref bean="OpenSessionInViewInterceptor"/>
</list>
</property>
</bean>
<!-- 处理方法级别上的@RequestMapping注解 -->
<bean id="annotationMethodHandlerAdapter"
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<bean
class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=utf-8</value>
<value>text/plain;charset=utf-8</value>
</list>
</property>
</bean>
<bean
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverterv2">
<property name="objectMapper">
<bean class="net.pm.misc.Hibernate4AwareObjectMapper" />
</property>
</bean>
</list>
</property>
</bean>
<!-- 表示使用cglib,而非JDK的动态代理,因为Controller没有实现接口,所以要配置这里 -->
<aop:aspectj-autoproxy proxy-target-class="true" />
可是在DefaultHandlerInterceptor拦截器中,老是不进断点.
原因:
配置了<mvc:annotation-driven/>
这个配置声明
{没有 defaultAnnotationHandlerMapping这个属性,
对于@ResultMapping标签的解析,用 "org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping” 这个类来处理.}
所以要去掉<mvc:annotation-driven />,去掉其默认配置,
否则会实例化两个DefaultAnnotationHandlerMapping,并且不使用你配置的那个 DefaultAnnotationHandlerMapping.
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter与<mvc:annotation-driven />关系与上同理.
并把这个类注入到Spring的DefaultAnnotationHandlerMapping的interceptors中
配置如:
<!-- 处理在类级别上的@RequestMapping注解 -->
<bean
class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="interceptors">
<list>
<!-- 多个拦截器,顺序执行 -->
<ref bean="SpringMVCInterceptor" />
<ref bean="OpenSessionInViewInterceptor"/>
</list>
</property>
</bean>
<!-- 处理方法级别上的@RequestMapping注解 -->
<bean id="annotationMethodHandlerAdapter"
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<bean
class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=utf-8</value>
<value>text/plain;charset=utf-8</value>
</list>
</property>
</bean>
<bean
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverterv2">
<property name="objectMapper">
<bean class="net.pm.misc.Hibernate4AwareObjectMapper" />
</property>
</bean>
</list>
</property>
</bean>
<!-- 表示使用cglib,而非JDK的动态代理,因为Controller没有实现接口,所以要配置这里 -->
<aop:aspectj-autoproxy proxy-target-class="true" />
可是在DefaultHandlerInterceptor拦截器中,老是不进断点.
原因:
配置了<mvc:annotation-driven/>
这个配置声明
{没有 defaultAnnotationHandlerMapping这个属性,
对于@ResultMapping标签的解析,用 "org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping” 这个类来处理.}
所以要去掉<mvc:annotation-driven />,去掉其默认配置,
否则会实例化两个DefaultAnnotationHandlerMapping,并且不使用你配置的那个 DefaultAnnotationHandlerMapping.
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter与<mvc:annotation-driven />关系与上同理.
相关文章推荐
- Type handler was null on parameter mapping for property '__frch_productId_0'. It was either not spec
- HandlerMapping和BeanNameUrlHandlerMapping的使用
- 利用RequestMappingHandlerMapping提取Spring MVC @RequestMapping
- Spring MVC中使用SimpleUrlHandlerMapping映射处理器的一个简单例子
- SpringMVC基于非注解方式(BeanNameUrlHandlerMapping)实现的简单登陆备忘(Intellij idea)
- Spring MVC之RequestMappingHandlerAdapter初始化
- Spring MVC BeanNameUrlHandlerMapping example
- spring MVC关于org.springframework.web.servlet.handler.SimpleUrlHandlerMapping的使用
- DispatchMapping[/foreground/agentReworkData] does not define a handler property
- Spring Web MVC 的HandlerMapping的使用之-------BeanNameUrlHandlerMapping
- springmvc—handlermapping三种映射
- org.springframework.web.se rvlet.DispatcherServlet.noHandlerFound No mapping found for HTTP request
- DefaultAnnotationHandlerMapping初始化
- spring mvc问题之为何多注入了一个BeanNameUrlHandlerMapping?
- spring mvc的HandlerMapping的使用之--BeanNameUrlHandlerMapping
- Spring MVC BeanNameUrlHandlerMapping example
- Spring MVC ControllerClassNameHandlerMapping example
- springMVC源码分析--AbstractDetectingUrlHandlerMapping(五)
- springMVC源码分析--RequestMappingHandlerAdapter(五)