在Spring 3-1中,如何将bean引用指定为参数解析器?

前端之家收集整理的这篇文章主要介绍了在Spring 3-1中,如何将bean引用指定为参数解析器?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

这是关于Spring配置的语法问题(请参阅spring-beans-3.1.xsd和spring-mvc-3.1.xsd).

我有一个特定的bean定义(id =“SecurityRequestParametersArgumentResolver”),我想注册自定义参数解析器. xml片段是:

…我看到的所有示例都看起来像这样,因此是在默认的无参数构造函数之后

重复这个问题,为了将bean引用用作自定义参数解析器,Spring语法应该是什么?

谢谢!

最佳答案
至少构造函数参数问题可以很容易地解决

但我不知道在< mvc:argument-resolvers>中使用引用而不是bean的方法.但是根据你想要做的事情,有几个工作场所.

>使用Bean Factory
>创建一个实现HandlerMethodArgumentResolver的代理类,并将每个调用转发给另一个实例,然后您可以像普通bean一样拥有自己的SecurityRequestParametersArgumentResolver,并在< mvc:argument-resolvers>中注册Proxy.部分.

代理:

class HandlerMethodArgumentResolverProxy
       implements HandlerMethodArgumentResolver{
    HandlerMethodArgumentResolver delegate;

    publicHandlerMethodArgumentResolverProxy
                   (HandlerMethodArgumentResolver delegate){
        this.delegate=delegate;
    }

    public boolean supportsParameter(MethodParameter parameter) {
        this.delegate.supportsParameter(parameter);
    }

    //delegate for resolveArgument        
}

配置:

猜你在找的Spring相关文章