我正在努力在J2EE球衣项目中实现构造函数的依赖项注入。我正在使用HK2。我创建一个类
class MyServiceImpl implements MyService{
@Inject
public MyServiceImpl(String test){
// do something
}
}
现在,我的问题是,当我通过扩展抽象培训来注册依赖关系的依赖项注入时,将依赖性作为简单的" bind"与" bindascontract"绑定有什么区别?
当您使用
时bind(ServiceImpl.class).to(IService.class)
ServiceImpl
是实现类,而 IService
是您作为注入类型的合同。因此,您将使用
@Inject
private IService service;
bindAsContract(ServiceImpl.class)
您说的是ServiceImpl
既是实施类和宣传的合同。因此,您需要将其注入。
@Inject
private ServiceImpl service;