前々回と前回の記事で、CDIの基本的な部分であるスコープとインジェクションについて解説した。 今回は、インジェクション候補のクラスが複数ある場合の様々な対処方法を紹介する。 実装や継承関係がある場合のスコープ指定 実装や継承関係がある場合は、実際にインジェクションしたい具象クラスにスコープを指定する。 例えば、次のようなインターフェースがあるとする。 public interface SomeIf {} インターフェースや抽象クラスに対してはスコープを指定できないため、SomeIfを実装する具象クラスに対してスコープを指定する。 @RequestScoped public class SomeBean implements SomeIf {} インジェクションの指定は、インターフェースや抽象クラスに対しても行える。次のようにSomeIfに対して@Injectを指定すると、CDIコンテナはS