Jersey
2.26对其DI支持进行了一些更改。首先,它删除了HK2作为硬依赖性,并添加了一个抽象层。新框架使用了HK2的一些名称,但包装有所不同。例如
AbstractBinder。您可以在代码中看到
hk2程序包名称中没有。这是Jersey使用的新抽象层。
新层大量使用Java8。例如,对于Java层
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; }}


