Dependencies BindaContract和bind在HK2中的差异
我正在一个J2EE项目中实现构造函数的依赖项注入。我用的是HK2。我创建了一个类Dependencies BindaContract和bind在HK2中的差异,dependencies,bind,inject,hk2,Dependencies,Bind,Inject,Hk2,我正在一个J2EE项目中实现构造函数的依赖项注入。我用的是HK2。我创建了一个类 class MyServiceImpl implements MyService{ @Inject public MyServiceImpl(String test){ // do something } } 现在,我的问题是,当我通过扩展AbstractBinder在dependencybinder类中注册此依赖项注入时,将依赖项绑定为简单的“绑定”与“BindaContract”有什么区别
class MyServiceImpl implements MyService{
@Inject
public MyServiceImpl(String test){
// do something
}
}
现在,我的问题是,当我通过扩展AbstractBinder在dependencybinder类中注册此依赖项注入时,将依赖项绑定为简单的“绑定”与“BindaContract”有什么区别 当您使用
bind(serviceinpl.class).to(IService.class)
serviceinpl
是实现类,IService
是作为注入类型发布的契约。所以你会用
@Inject
私人色情服务;
与
bindAsContract(ServiceImpl.class)
您的意思是,serviceinpl
既是实现类,也是作为广告的契约。所以你需要像这样注入它
@Inject
私人服务impl服务;
如果我有两个类实现相同的IService接口:(1)FileServiceImpl,(2)Databaseserviceimpl,那么我们如何根据需要通过接口注入适当的类?我们必须使用任何限定符或类似的东西吗?是的,您可以使用qualifiedBy(annotationInstance)
在这种情况下,我应该如何处理构造函数参数?您还需要绑定它们。在您的帖子中,由于它是一个字符串,您需要对其进行限定。