bindascontract和hk2中结合之间的差异



我正在努力在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;

最新更新