【问题标题】:Jersey 2.x dynamic bindingJersey 2.x 动态绑定
【发布时间】:2016-11-15 04:13:08
【问题描述】:

有没有办法在运行时提供动态绑定? AbstractBinder 允许您绑定工厂,但必须在编译时知道类类型。

大意是:

public class MyDynamicBinder implements DynamicBinder {
    @Override
    public boolean canBind(Class<?> someContract) {
        return iCanBindThis(someContract);
    }

    @Override
    public Object bind(Class<?> someContract) {
        return getMyInstance(someContract);
    }
}

【问题讨论】:

    标签: java jersey jersey-2.0 hk2


    【解决方案1】:

    hk2 是一个非常动态的注入容器。与 guice 和 CDI 不同,它可以随时向其ServiceLocator 添加服务(如果您有适当的权限)。使用ServiceLocator(这是一种在您拥有任何其他hk2 服务的任何地方都可以使用的服务),那么您可以使用ServiceLocatorUtilities 中的方法,如addClasses 或addOneDescriptor,以便随时添加您需要的任何服务。您也可以随时删除服务,但很少有人这样做(除非您正在编写自己的动态容器)

    【讨论】:

      猜你喜欢
      • 2016-10-14
      • 2021-03-03
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 2017-05-27
      • 2017-02-18
      相关资源
      最近更新 更多