gpt4 book ai didi

java - 为什么@Qualifier 不允许在构造函数之上?

转载 作者:行者123 更新时间:2023-12-01 12:06:34 25 4
gpt4 key购买 nike

我正在学习 spring 但是当我在下面尝试时它不起作用但是在我使用方法时在构造函数的位置然后它为什么起作用?背后有什么具体原因吗?我的问题是为什么 spring 设计师决定不允许 @Qualifier 在构造函数之上,而在方法之上?

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;

public class Employee {
private Company comp;
@Autowired
@Qualifier(value="beanId")
private Employee(Company comp) {
this.comp=comp;
}
public Company getComp() {
return comp;
}
}

参数中的@Qualifier 有效.. 在下面说有效
private Employee(@Qualifier(value="beanId") Company comp) {
this.comp=comp;
}

但是@Qualifier 在上面的方法上工作正常,如下所示为什么?
@Qualifier(value="beanId")
private void getEmpDetails(Company comp) {
this.comp=comp;
}

最佳答案

是的 构造函数不能使用 @Qualifier当您将其用于其他方法时。@Qualifier注解只能用于 构造函数参数 .
this offcial article供更多引用。

关于java - 为什么@Qualifier 不允许在构造函数之上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42350828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com