有没有办法使用javax.inject注释来选择在另一次注入中注入构造函数的内容?

时间:2017-06-14 11:33:54

标签: java inject javax

假设我有自定义类型注释 @Classic @Custom ,我有注释类 BarClassic BarCustom 它们都实现了接口 Bar

然后说我有另一个类 BarUser ,其中Bar是在构造函数中注入的。

public class BarUser {

    @Inject
    private BarUser (Bar bar) {
        ...
    }

还有一个Foo类,我想注入 BarUser ,但是想在注入的 BarUser 中指定使用say BarClassic

注释是否有办法解决这个问题。所以我想要的是:

public class Foo {

    @Inject
    @Classic
    private BarUser barUser;

    ....

有了这个,我想指定在 BarUser 中注入的Bar应该是 @Classic 。也许在另一个班上做:

public class DifferentFoo {

    @Inject
    @Custom
    private BarUser barUser;

    ....

这是唯一可以使用两个不同的 BarUser 类的方法,还是有一些我可以使用的魔法?

0 个答案:

没有答案