私はインターフェイスJava Beanが複合注入
public interface Abstraction {
void execute();
}
を持っている私は、複合実装を構築し、Beanとして登録され、このオブジェクトになるように、私はそれを設定するにはどうすればよい@Named
@Named
public class Composite implements Abstraction {
private List<Abstraction> list;
@Inject
public Composite(List<Abstraction> list) {
this.list = list;
}
public void execute() {
list.forEach(Abstraction::execute);
}
}
をしたいしています抽象クラスへの実装セットは、上記コンポジットに適切に注入されますか?私は依存として抽象化を取る別のオブジェクトを持っているでしょうし、上記の2つの実装で上記の@Named
コンポジットを受け取りたいと思っています。
public class Implementation1 implements Abstraction {
public void execute() { }
}
public class Implementation2 implements Abstraction {
public void execute() { }
}
いつも2になるのですか?それらを名前で別々に注入するだけです。 – Savior
@Pillarそれは私の特別な場合、私はそれを行うことができますが、私は各実装に '名前付き'注釈を置くことができないので、どのように確信していません。すみません、私はJava Beanの世界では初めてです。 –