Java自动注入默认_java – 自动注入与Spring

更新:2016年2月

自动装配将在Spring Framework 4.3中正式支持。实现可以在这个GitHub commit看到。

你不能自动安装的最终原因是Spring的DefaultListableBeanFactory.findAutowireCandidates(String,Class,DependencyDescriptor)方法的实现明确排除了可能性。这在此方法的以下代码摘录中可见:

for (String candidateName : candidateNames) {

if (!candidateName.equals(beanName) && isAutowireCandidate(candidateName, descriptor)) {

result.put(candidateName, getBean(candidateName));

}

}

FYI:bean的名称(即,尝试自动安装的bean)是beanName。那个bean实际上是一个自动装配候选,但上面的if条件返回false(因为candidateName事实上等于beanName)。因此,你根本不能使用自身(至少不是Spring 3.1 M1)自动连接bean。

现在关于这是否是语义上的意图行为,这是另一个问题。 😉

我会问Juergen,看看他说什么。

问候,

Sam(核心弹簧提交者)

p.s.我已经打开了一个Spring JIRA问题,考虑通过类型使用@Autowired支持自动装配。请随时观看或投票支持此问题:https://jira.springsource.org/browse/SPR-8450

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值