Jersey 2.26对其DI支持进行了一些更改。首先,它删除了HK2作为硬依赖项,并添加了一个抽象层。新框架使用了HK2的一些名称,但包装有所不同。例如
AbstractBinder
. 您可以在代码中看到
hk2
在包名称中。这是Jersey使用的新抽象层。
新层大量使用Java 8。例如
bindFactory
,它不再使用HK2
Factory
,但使用Java 8
Supplier
. 用于
bindFactory公司
现在,您将使工厂实现
Supplier
public class GeneralFormFactory implements Supplier<GeneralForm> {
private final HttpServletRequest request;
@Inject
public GeneralFormFactory(HttpServletRequest request) {
this.request = request;
}
@Override
public GeneralForm get() {
GeneralForm result = new GeneralForm();
return result;
}
}