这是我的需求:
AbcRequest有一个名为requestBody的字段,需要自动连接。在下面的代码中,如果spring无法找到带有" requestBody"的bean限定符,它将抛出异常,但我需要的是如果找不到,它将注入默认实现身体。基本上它是"依赖解析器"有一个后备策略 - 首先根据某个名称键查找,如果没有找到,则根据类型进行查找。
@Component
public class AbcRequest {
@Autowired
@Qualifier("requestBody")
private Body requestBody
}
答案 0 :(得分:0)
您可以定义两个引用,并使用限定符进行注释不是必需的。然后只需添加一条消息即可返回现有的
@Component
public class AbcRequest {
@Autowired(required = false)
@Qualifier("requestBody")
private Body requestBody
@Autowired
private Body defaultBody
public Body getBody() {
return requestBody != null ? requestBody : defaultBody;
}
}