Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
爱吃血肠
spring-framework
提交
64a01d64
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 搜索 >>
提交
64a01d64
编写于
5月 11, 2015
作者:
J
Juergen Hoeller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Polishing
上级
549e888c
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
35 addition
and
12 deletion
+35
-12
spring-context/src/test/java/org/springframework/beans/factory/support/InjectAnnotationAutowireContextTests.java
...factory/support/InjectAnnotationAutowireContextTests.java
+7
-7
spring-core/src/main/java/org/springframework/util/ReflectionUtils.java
...c/main/java/org/springframework/util/ReflectionUtils.java
+5
-4
spring-web/src/test/java/org/springframework/web/bind/support/WebRequestDataBinderTests.java
...framework/web/bind/support/WebRequestDataBinderTests.java
+23
-1
未找到文件。
spring-context/src/test/java/org/springframework/beans/factory/support/InjectAnnotationAutowireContextTests.java
浏览文件 @
64a01d64
/*
* Copyright 2002-201
3
the original author or authors.
* Copyright 2002-201
5
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.
...
...
@@ -667,27 +667,27 @@ public class InjectAnnotationAutowireContextTests {
@Target
({
ElementType
.
FIELD
,
ElementType
.
PARAMETER
,
ElementType
.
TYPE
})
@Retention
(
RetentionPolicy
.
RUNTIME
)
@Qualifier
public
static
@interface
TestQualifier
{
public
@interface
TestQualifier
{
}
@Target
(
ElementType
.
FIELD
)
@Retention
(
RetentionPolicy
.
RUNTIME
)
@Qualifier
public
static
@interface
TestQualifierWithDefaultValue
{
public
@interface
TestQualifierWithDefaultValue
{
public
abstract
String
value
()
default
"default"
;
String
value
()
default
"default"
;
}
@Target
(
ElementType
.
FIELD
)
@Retention
(
RetentionPolicy
.
RUNTIME
)
@Qualifier
public
static
@interface
TestQualifierWithMultipleAttributes
{
public
@interface
TestQualifierWithMultipleAttributes
{
public
abstract
String
value
()
default
"default"
;
String
value
()
default
"default"
;
public
abstract
int
number
();
int
number
();
}
}
spring-core/src/main/java/org/springframework/util/ReflectionUtils.java
浏览文件 @
64a01d64
...
...
@@ -92,7 +92,8 @@ public abstract class ReflectionUtils {
while
(!
Object
.
class
.
equals
(
searchType
)
&&
searchType
!=
null
)
{
Field
[]
fields
=
getDeclaredFields
(
searchType
);
for
(
Field
field
:
fields
)
{
if
((
name
==
null
||
name
.
equals
(
field
.
getName
()))
&&
(
type
==
null
||
type
.
equals
(
field
.
getType
())))
{
if
((
name
==
null
||
name
.
equals
(
field
.
getName
()))
&&
(
type
==
null
||
type
.
equals
(
field
.
getType
())))
{
return
field
;
}
}
...
...
@@ -418,8 +419,7 @@ public abstract class ReflectionUtils {
i
--;
}
return
((
i
>
CGLIB_RENAMED_METHOD_PREFIX
.
length
())
&&
(
i
<
name
.
length
()
-
1
)
&&
(
name
.
charAt
(
i
)
==
'$'
));
(
i
<
name
.
length
()
-
1
)
&&
name
.
charAt
(
i
)
==
'$'
);
}
return
false
;
}
...
...
@@ -433,7 +433,8 @@ public abstract class ReflectionUtils {
* @see java.lang.reflect.Field#setAccessible
*/
public
static
void
makeAccessible
(
Field
field
)
{
if
((!
Modifier
.
isPublic
(
field
.
getModifiers
())
||
!
Modifier
.
isPublic
(
field
.
getDeclaringClass
().
getModifiers
())
||
if
((!
Modifier
.
isPublic
(
field
.
getModifiers
())
||
!
Modifier
.
isPublic
(
field
.
getDeclaringClass
().
getModifiers
())
||
Modifier
.
isFinal
(
field
.
getModifiers
()))
&&
!
field
.
isAccessible
())
{
field
.
setAccessible
(
true
);
}
...
...
spring-web/src/test/java/org/springframework/web/bind/support/WebRequestDataBinderTests.java
浏览文件 @
64a01d64
/*
* Copyright 2002-201
3
the original author or authors.
* Copyright 2002-201
5
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.
...
...
@@ -147,6 +147,28 @@ public class WebRequestDataBinderTests {
assertFalse
(
target
.
isPostProcessed
());
}
@Test
public
void
testFieldDefaultWithNestedProperty
()
throws
Exception
{
TestBean
target
=
new
TestBean
();
target
.
setSpouse
(
new
TestBean
());
WebRequestDataBinder
binder
=
new
WebRequestDataBinder
(
target
);
MockHttpServletRequest
request
=
new
MockHttpServletRequest
();
request
.
addParameter
(
"!spouse.postProcessed"
,
"on"
);
request
.
addParameter
(
"_spouse.postProcessed"
,
"visible"
);
request
.
addParameter
(
"spouse.postProcessed"
,
"on"
);
binder
.
bind
(
new
ServletWebRequest
(
request
));
assertTrue
(((
TestBean
)
target
.
getSpouse
()).
isPostProcessed
());
request
.
removeParameter
(
"spouse.postProcessed"
);
binder
.
bind
(
new
ServletWebRequest
(
request
));
assertTrue
(((
TestBean
)
target
.
getSpouse
()).
isPostProcessed
());
request
.
removeParameter
(
"!spouse.postProcessed"
);
binder
.
bind
(
new
ServletWebRequest
(
request
));
assertFalse
(((
TestBean
)
target
.
getSpouse
()).
isPostProcessed
());
}
@Test
public
void
testFieldDefaultNonBoolean
()
throws
Exception
{
TestBean
target
=
new
TestBean
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录