`

spring4 HandlerMethodArgumentResolver不生效

阅读更多
spring4 HandlerMethodArgumentResolver不生效

配置了一个Spring http参数解析器,发现不生效,debug也进不来,
后来看原码,debug源码,发现下面这个配置没有生效:
<bean class="org.springframework.web.servlet.mvc.
method.annotation.RequestMappingHandlerAdapter">
    <property name="customArgumentResolvers">
        <list>
            <bean class="com.geek.ppcp.web.security.
AuthenticationArgumentResolver"/>
            <bean class="com.geek.xray.web.helper.
AccountArgumentResolver"/>
        </list>
    </property>
</bean>
发现在配置文件中还有如下一段配置:
<mvc:annotation-driven validator="validator"/>

这两段配置有冲突,注掉下面这个,就正常了。


另外,有一点奇怪的是,我实现了一个登陆验证参数,叫UserAuthor,没有参数解析器,
居然也正常能正常登陆,检查权限也正常,这不合逻辑,debug进去看了一下,
发现UserAuthor实现了java的Priciple接口,
它直接从SecurityContextHolderAwareRequestWrapper
.getUserPrincipal()方法,有兴趣的自己看码,懒得写了。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics