是的,这是Spring Framework 5中的重大更改。可以说,这样的设置很奇怪,我们希望稍微加强一下这些规则。
如果您请求注入First
并提供null
,那么考虑未提供Bean更加一致。然后,您可以查询上下文中是否存在First
。@spencergibb已经解释了如何使用Optional
,或者可以ObjectProvider<First>
用作注入点:
@Service
public class Second {
private final First first;
public Second(ObjectProvider<First> first) {
this.first = first.getIfAvailable(); // return null
}
}