这是关于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
}
配置: