Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
爱吃血肠
spring-framework
提交
c89e3e6e
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 搜索 >>
提交
c89e3e6e
编写于
10月 10, 2018
作者:
J
Juergen Hoeller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Restore original factory method caching (addressing Boot regressions)
Issue: SPR-17358
上级
d0592416
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
25 addition
and
17 deletion
+25
-17
spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.java
...s/factory/support/AbstractAutowireCapableBeanFactory.java
+0
-5
spring-context/src/test/java/org/springframework/context/annotation/configuration/BeanMethodQualificationTests.java
...nnotation/configuration/BeanMethodQualificationTests.java
+25
-12
未找到文件。
spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.java
浏览文件 @
c89e3e6e
...
...
@@ -775,11 +775,6 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac
}
}
if
(
uniqueCandidate
!=
null
)
{
synchronized
(
mbd
.
constructorArgumentLock
)
{
mbd
.
resolvedConstructorOrFactoryMethod
=
uniqueCandidate
;
}
}
if
(
commonType
==
null
)
{
return
null
;
}
...
...
spring-context/src/test/java/org/springframework/context/annotation/configuration/BeanMethodQualificationTests.java
浏览文件 @
c89e3e6e
...
...
@@ -83,10 +83,13 @@ public class BeanMethodQualificationTests {
new
AnnotationConfigApplicationContext
(
CustomConfig
.
class
,
CustomPojo
.
class
);
assertFalse
(
ctx
.
getBeanFactory
().
containsSingleton
(
"testBean1"
));
assertFalse
(
ctx
.
getBeanFactory
().
containsSingleton
(
"testBean2"
));
assertTrue
(
BeanFactoryAnnotationUtils
.
isQualifierMatch
(
value
->
value
.
equals
(
"boring"
),
"testBean2"
,
ctx
.
getDefaultListableBeanFactory
()));
// TODO:
assertTrue(BeanFactoryAnnotationUtils.isQualifierMatch(value -> value.equals("boring"),
//
"testBean2", ctx.getDefaultListableBeanFactory()));
CustomPojo
pojo
=
ctx
.
getBean
(
CustomPojo
.
class
);
assertThat
(
pojo
.
testBean
.
getName
(),
equalTo
(
"interesting"
));
TestBean
testBean2
=
BeanFactoryAnnotationUtils
.
qualifiedBeanOfType
(
ctx
.
getDefaultListableBeanFactory
(),
TestBean
.
class
,
"boring"
);
assertThat
(
testBean2
.
getName
(),
equalTo
(
"boring"
));
}
@Test
...
...
@@ -136,8 +139,10 @@ public class BeanMethodQualificationTests {
}
@Bean
@Boring
public
TestBean
testBean2
()
{
return
new
TestBean
(
"boring"
);
public
TestBean
testBean2
(
@Lazy
TestBean
testBean1
)
{
TestBean
tb
=
new
TestBean
(
"boring"
);
tb
.
setSpouse
(
testBean1
);
return
tb
;
}
}
...
...
@@ -150,8 +155,10 @@ public class BeanMethodQualificationTests {
}
@Bean
@Boring
@Scope
(
"prototype"
)
public
TestBean
testBean2
()
{
return
new
TestBean
(
"boring"
);
public
TestBean
testBean2
(
TestBean
testBean1
)
{
TestBean
tb
=
new
TestBean
(
"boring"
);
tb
.
setSpouse
(
testBean1
);
return
tb
;
}
}
...
...
@@ -164,8 +171,10 @@ public class BeanMethodQualificationTests {
}
@Bean
@Boring
@Scope
(
value
=
"prototype"
,
proxyMode
=
ScopedProxyMode
.
TARGET_CLASS
)
public
TestBean
testBean2
()
{
return
new
TestBean
(
"boring"
);
public
TestBean
testBean2
(
TestBean
testBean1
)
{
TestBean
tb
=
new
TestBean
(
"boring"
);
tb
.
setSpouse
(
testBean1
);
return
tb
;
}
}
...
...
@@ -191,8 +200,10 @@ public class BeanMethodQualificationTests {
}
@Bean
@Qualifier
(
"boring"
)
@Lazy
public
TestBean
testBean2
()
{
return
new
TestBean
(
"boring"
);
public
TestBean
testBean2
(
@Lazy
TestBean
testBean1
)
{
TestBean
tb
=
new
TestBean
(
"boring"
);
tb
.
setSpouse
(
testBean1
);
return
tb
;
}
}
...
...
@@ -205,8 +216,10 @@ public class BeanMethodQualificationTests {
}
@Bean
@Qualifier
(
"boring"
)
public
TestBean
testBean2
()
{
return
new
TestBean
(
"boring"
);
public
TestBean
testBean2
(
@Lazy
TestBean
testBean1
)
{
TestBean
tb
=
new
TestBean
(
"boring"
);
tb
.
setSpouse
(
testBean1
);
return
tb
;
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录