Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
爱吃血肠
spring-framework
提交
b7304651
S
spring-framework
项目概览
爱吃血肠
/
spring-framework
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
spring-framework
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
b7304651
编写于
7月 31, 2019
作者:
J
Juergen Hoeller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Deprecate logger field in HandlerMethodArgumentResolverComposite
上级
a8623dbb
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
40 addition
and
40 deletion
+40
-40
spring-messaging/src/main/java/org/springframework/messaging/handler/invocation/HandlerMethodArgumentResolverComposite.java
...er/invocation/HandlerMethodArgumentResolverComposite.java
+20
-19
spring-web/src/main/java/org/springframework/web/method/support/HandlerMethodArgumentResolverComposite.java
...ethod/support/HandlerMethodArgumentResolverComposite.java
+20
-21
未找到文件。
spring-messaging/src/main/java/org/springframework/messaging/handler/invocation/HandlerMethodArgumentResolverComposite.java
浏览文件 @
b7304651
/*
* Copyright 2002-201
8
the original author or authors.
* Copyright 2002-201
9
the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
@@ -27,8 +27,8 @@ import org.springframework.messaging.Message;
/**
* Resolves method parameters by delegating to a list of registered
* {@link HandlerMethodArgumentResolver
}. Previously resolved method parameters are cached
* for faster lookups.
* {@link HandlerMethodArgumentResolver
HandlerMethodArgumentResolvers}.
*
Previously resolved method parameters are cached
for faster lookups.
*
* @author Rossen Stoyanchev
* @author Juergen Hoeller
...
...
@@ -51,26 +51,22 @@ public class HandlerMethodArgumentResolverComposite implements HandlerMethodArgu
}
/**
* Add the given {@link HandlerMethodArgumentResolver
}s
.
* Add the given {@link HandlerMethodArgumentResolver
HandlerMethodArgumentResolvers}
.
* @since 4.3
*/
public
HandlerMethodArgumentResolverComposite
addResolvers
(
HandlerMethodArgumentResolver
...
resolvers
)
{
if
(
resolvers
!=
null
)
{
for
(
HandlerMethodArgumentResolver
resolver
:
resolvers
)
{
this
.
argumentResolvers
.
add
(
resolver
);
}
Collections
.
addAll
(
this
.
argumentResolvers
,
resolvers
);
}
return
this
;
}
/**
* Add the given {@link HandlerMethodArgumentResolver
}s
.
* Add the given {@link HandlerMethodArgumentResolver
HandlerMethodArgumentResolvers}
.
*/
public
HandlerMethodArgumentResolverComposite
addResolvers
(
List
<?
extends
HandlerMethodArgumentResolver
>
argumentResolvers
)
{
if
(
argumentResolvers
!=
null
)
{
for
(
HandlerMethodArgumentResolver
resolver
:
argumentResolvers
)
{
this
.
argumentResolvers
.
add
(
resolver
);
}
public
HandlerMethodArgumentResolverComposite
addResolvers
(
List
<?
extends
HandlerMethodArgumentResolver
>
resolvers
)
{
if
(
resolvers
!=
null
)
{
this
.
argumentResolvers
.
addAll
(
resolvers
);
}
return
this
;
}
...
...
@@ -91,8 +87,8 @@ public class HandlerMethodArgumentResolverComposite implements HandlerMethodArgu
/**
* Whether the given {@linkplain MethodParameter method parameter} is
supported by any registered
* {@link HandlerMethodArgumentResolver}.
* Whether the given {@linkplain MethodParameter method parameter} is
*
supported by any registered
{@link HandlerMethodArgumentResolver}.
*/
@Override
public
boolean
supportsParameter
(
MethodParameter
parameter
)
{
...
...
@@ -100,20 +96,25 @@ public class HandlerMethodArgumentResolverComposite implements HandlerMethodArgu
}
/**
* Iterate over registered {@link HandlerMethodArgumentResolver}s and invoke the one that supports it.
* @throws IllegalStateException if no suitable {@link HandlerMethodArgumentResolver} is found.
* Iterate over registered
* {@link HandlerMethodArgumentResolver HandlerMethodArgumentResolvers}
* and invoke the one that supports it.
* @throws IllegalStateException if no suitable
* {@link HandlerMethodArgumentResolver} is found.
*/
@Override
public
Object
resolveArgument
(
MethodParameter
parameter
,
Message
<?>
message
)
throws
Exception
{
HandlerMethodArgumentResolver
resolver
=
getArgumentResolver
(
parameter
);
if
(
resolver
==
null
)
{
throw
new
IllegalStateException
(
"Unknown parameter type ["
+
parameter
.
getParameterType
().
getName
()
+
"]"
);
throw
new
IllegalArgumentException
(
"Unsupported parameter type ["
+
parameter
.
getParameterType
().
getName
()
+
"]. supportsParameter should be called first."
);
}
return
resolver
.
resolveArgument
(
parameter
,
message
);
}
/**
* Find a registered {@link HandlerMethodArgumentResolver} that supports the given method parameter.
* Find a registered {@link HandlerMethodArgumentResolver} that supports
* the given method parameter.
*/
private
HandlerMethodArgumentResolver
getArgumentResolver
(
MethodParameter
parameter
)
{
HandlerMethodArgumentResolver
result
=
this
.
argumentResolverCache
.
get
(
parameter
);
...
...
spring-web/src/main/java/org/springframework/web/method/support/HandlerMethodArgumentResolverComposite.java
浏览文件 @
b7304651
/*
* Copyright 2002-201
6
the original author or authors.
* Copyright 2002-201
9
the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
@@ -30,7 +30,8 @@ import org.springframework.web.bind.support.WebDataBinderFactory;
import
org.springframework.web.context.request.NativeWebRequest
;
/**
* Resolves method parameters by delegating to a list of registered {@link HandlerMethodArgumentResolver}s.
* Resolves method parameters by delegating to a list of registered
* {@link HandlerMethodArgumentResolver HandlerMethodArgumentResolvers}.
* Previously resolved method parameters are cached for faster lookups.
*
* @author Rossen Stoyanchev
...
...
@@ -39,6 +40,7 @@ import org.springframework.web.context.request.NativeWebRequest;
*/
public
class
HandlerMethodArgumentResolverComposite
implements
HandlerMethodArgumentResolver
{
@Deprecated
protected
final
Log
logger
=
LogFactory
.
getLog
(
getClass
());
private
final
List
<
HandlerMethodArgumentResolver
>
argumentResolvers
=
...
...
@@ -57,26 +59,22 @@ public class HandlerMethodArgumentResolverComposite implements HandlerMethodArgu
}
/**
* Add the given {@link HandlerMethodArgumentResolver
}s
.
* Add the given {@link HandlerMethodArgumentResolver
HandlerMethodArgumentResolvers}
.
* @since 4.3
*/
public
HandlerMethodArgumentResolverComposite
addResolvers
(
HandlerMethodArgumentResolver
...
resolvers
)
{
if
(
resolvers
!=
null
)
{
for
(
HandlerMethodArgumentResolver
resolver
:
resolvers
)
{
this
.
argumentResolvers
.
add
(
resolver
);
}
Collections
.
addAll
(
this
.
argumentResolvers
,
resolvers
);
}
return
this
;
}
/**
* Add the given {@link HandlerMethodArgumentResolver
}s
.
* Add the given {@link HandlerMethodArgumentResolver
HandlerMethodArgumentResolvers}
.
*/
public
HandlerMethodArgumentResolverComposite
addResolvers
(
List
<?
extends
HandlerMethodArgumentResolver
>
resolvers
)
{
if
(
resolvers
!=
null
)
{
for
(
HandlerMethodArgumentResolver
resolver
:
resolvers
)
{
this
.
argumentResolvers
.
add
(
resolver
);
}
this
.
argumentResolvers
.
addAll
(
resolvers
);
}
return
this
;
}
...
...
@@ -98,17 +96,20 @@ public class HandlerMethodArgumentResolverComposite implements HandlerMethodArgu
/**
* Whether the given {@linkplain MethodParameter method parameter} is
supported by any registered
* {@link HandlerMethodArgumentResolver}.
* Whether the given {@linkplain MethodParameter method parameter} is
*
supported by any registered
{@link HandlerMethodArgumentResolver}.
*/
@Override
public
boolean
supportsParameter
(
MethodParameter
parameter
)
{
return
(
getArgumentResolver
(
parameter
)
!=
null
)
;
return
getArgumentResolver
(
parameter
)
!=
null
;
}
/**
* Iterate over registered {@link HandlerMethodArgumentResolver}s and invoke the one that supports it.
* @throws IllegalStateException if no suitable {@link HandlerMethodArgumentResolver} is found.
* Iterate over registered
* {@link HandlerMethodArgumentResolver HandlerMethodArgumentResolvers} and
* invoke the one that supports it.
* @throws IllegalStateException if no suitable
* {@link HandlerMethodArgumentResolver} is found.
*/
@Override
public
Object
resolveArgument
(
MethodParameter
parameter
,
ModelAndViewContainer
mavContainer
,
...
...
@@ -116,22 +117,20 @@ public class HandlerMethodArgumentResolverComposite implements HandlerMethodArgu
HandlerMethodArgumentResolver
resolver
=
getArgumentResolver
(
parameter
);
if
(
resolver
==
null
)
{
throw
new
IllegalArgumentException
(
"Unknown parameter type ["
+
parameter
.
getParameterType
().
getName
()
+
"]"
);
throw
new
IllegalArgumentException
(
"Unsupported parameter type ["
+
parameter
.
getParameterType
().
getName
()
+
"]. supportsParameter should be called first."
);
}
return
resolver
.
resolveArgument
(
parameter
,
mavContainer
,
webRequest
,
binderFactory
);
}
/**
* Find a registered {@link HandlerMethodArgumentResolver} that supports the given method parameter.
* Find a registered {@link HandlerMethodArgumentResolver} that supports
* the given method parameter.
*/
private
HandlerMethodArgumentResolver
getArgumentResolver
(
MethodParameter
parameter
)
{
HandlerMethodArgumentResolver
result
=
this
.
argumentResolverCache
.
get
(
parameter
);
if
(
result
==
null
)
{
for
(
HandlerMethodArgumentResolver
methodArgumentResolver
:
this
.
argumentResolvers
)
{
if
(
logger
.
isTraceEnabled
())
{
logger
.
trace
(
"Testing if argument resolver ["
+
methodArgumentResolver
+
"] supports ["
+
parameter
.
getGenericParameterType
()
+
"]"
);
}
if
(
methodArgumentResolver
.
supportsParameter
(
parameter
))
{
result
=
methodArgumentResolver
;
this
.
argumentResolverCache
.
put
(
parameter
,
result
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录