在我们的项目中,我们有模块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类,但不确定它是否适用。我是否也可以使用命名注入来获取其中一个实现类?
谢谢,
稻谷