2016-11-15 139 views
0

有什麼辦法可以在運行時提供動態綁定嗎? AbstractBinder允許你綁定一個工廠,但是在編譯時必須知道類的類型。Jersey 2.x動態綁定

有得的效果:

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

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

回答

0

HK2是一個極其動態注入容器。與guice和CDI不同的是,它可以隨時向其ServiceLocator添加服務(如果您有適當的權限)。隨着ServiceLocator(這是一個服務可在任何地方您有任何其他HK2服務),那麼你可以使用像addClasses或addOneDescriptor在ServiceLocatorUtilities的方法,以增加你在任何時候需要什麼服務可言。您也可以隨時刪除服務,但很少有人這樣做(除非您正在編寫自己的動態容器)