假设我有自定义类型注释@Classic和@Custom并且我有注释类BarClassic和BarCustom,它们都实现了接口Bar。
然后说我有另一个类BarUser,其中 Bar 在构造函数中注入。
public class BarUser {
@Inject
private BarUser (Bar bar) {
...
}
还有一个类 Foo 我想注入BarUser,但想指定在注入的BarUser中使用说BarClassic。
有没有办法通过注释来解决这个问题。所以我想要的是:
public class Foo {
@Inject
@Classic
private BarUser barUser;
....
有了这个,我想指定在BarUser中注入的 Bar应该是@Classic。也许在另一个班级做:
public class DifferentFoo {
@Inject
@Custom
private BarUser barUser;
....
是拥有两个不同的 BarUser类的唯一方法还是我可以使用一些魔法?