0
我想做什麼 - 我有一個孩子和父類。孩子有SimpleFoo,父母需要Advaced foo。所以,Java中的CDI方法注入和bean繼承
@Dependent
public class SimpleFoo {
}
@Dependent
public class AdvancedFoo extends SimpleFoo {
}
@Dependent
public class Child {
private SimpleFoo foo;
@Inject
protected void setFoo(SimpleFoo foo) {
this.foo = foo;
}
}
@Dependent
public class Parent extends Child {
@Inject
@Override
protected void setFoo(SimpleFoo foo) { //How to inject here AdvancedFoo
super.setFoo(foo);
}
}
我知道,我可以通過構造函數注入做到這一點,但我需要方法注入。怎麼做?是否可以不使用名稱(如MyBean1
)而只使用類別(AdvancedFoo
)?