簡體   English   中英

Spring Autowire通用類型

[英]Spring autowire generic type

Spring(從版本4開始)聲稱支持通用類型注入,並且我正在嘗試執行以下操作:

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正在嘗試注入IService 是否可以注入繼承的類型?

嘗試將@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;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM