如何从另一个模块注入接口的实现?

时间:2015-05-28 06:09:35

标签: java dependency-injection guice


  在我们的项目中,我们有模块A,它是API模块,模块B是依赖于模块A的实现模块。在模块A中,需要使用模块A中的一个接口,其实现位于模块B中。有没有办法将实现注入模块A中的所需点?模块我指的是不同的项目(Gradle项目)。

@Inject private MyInterface myInterface  // module A

public class MyInterfaceImpl1 extends MyInterface // module B depends on module A

public class MyInterfaceImpl2 extends MyInterface // module B depends on module A

我们目前能够为EJB做到这一点,我们有一个EJB查找机制,它在运行时获取实现类(模块A有EJB接口,模块B有各自的实现)。我不想把我的实现类作为EJB,并希望对Guice做同样的事情。可能吗?我查看了Guice的ProviderLookup类,但不确定它是否适用。我是否也可以使用命名注入来获取其中一个实现类?

谢谢,
稻谷

0 个答案:

没有答案