gpt4 book ai didi

java - Spring Autowiring 泛型类型

转载 作者:行者123 更新时间:2023-12-02 15:02:23 25 4
gpt4 key购买 nike

Spring(从版本 4 开始)声称支持泛型类型注入(inject),我正在尝试做这样的事情:

public abstract class AbstractControl<T extends IService> {

@Autowired
private T service;

protected T getService(){
return service;
}

public void setService(T service) {
this.service = service;
}

}

然后是这个类的扩展:

public class FooControl extends AbstractControl<LoginService> {
}

但是 Spring 正在尝试注入(inject) IService。是否可以注入(inject)继承的类型?

最佳答案

尝试将@Autowired移动到子类中,如下所示:

  public abstract class AbstractControl<T extends IService> {

private T service;

protected T getService(){
return service;
}

public void setService(T service) {
this.service = service;
}
}

和子类:

public class FooControl extends AbstractControl<LoginService> {

@Override
@Autowired
public void setService(LoginService service) {
this.service = service;
}
}

关于java - Spring Autowiring 泛型类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39358099/

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