小编PAN*_*BEY的帖子

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

我正在学习 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;
    }
}
Run Code Online (Sandbox Code Playgroud)

参数中的@Qualifier 有效.. 在下面说有效

private Employee(@Qualifier(value="beanId") Company comp) {
        this.comp=comp;
}
Run Code Online (Sandbox Code Playgroud)

但是@Qualifier 在上面的方法上工作正常,如下所示为什么?

@Qualifier(value="beanId")
private void getEmpDetails(Company comp) {
        this.comp=comp;
}
Run Code Online (Sandbox Code Playgroud)

java spring

11
推荐指数
1
解决办法
6913
查看次数

标签 统计

java ×1

spring ×1