在Guice綁定中有沒有一種方法來實現鉤子之前和之後的類型?例如。在Guice調用構造函數以將實例注入方法之前,我可以提供邏輯檢查,如果實例已經存在某處,如果我可以找到該實例,則直接返回它而不調用構造函數;另一方面,一旦在Guice綁定過程中構建了一個實例,我可以注入邏輯來處理該實例,然後再返回給原始調用方?在Guice綁定過程中注入自定義邏輯
0
A
回答
1
使用自定義Typelistener應該做的伎倆。從我的理解你的問題類似於「postConstruct」問題,當guice創建它時執行一個實例的代碼。也許this(德國)博客文章寫了一段時間前推動你在正確的方向。
- 使用匹配器來定義偵聽器應在哪些實例上作出反應。
使用再噴射鉤與實例
@Override 公共無效配置(最終粘合劑粘合劑){ binder.bindListener(Matchers.any(),這一點)工作; }
@覆蓋 公共無效聽到(最終TypeLiteral類型,最終TypeEncounter遭遇){ encounter.register(新InjectionListener(){
@Override public void afterInjection(final I injectee) { // alle postconstruct Methoden (nie null) ausführen. for (final Method postConstructMethod : filter(asList(injectee.getClass().getMethods()), MethodPredicate.VALID_POSTCONSTRUCT)) { try { postConstructMethod.invoke(injectee); } catch (final Exception e) { throw new RuntimeException(format("@PostConstruct %s", postConstructMethod), e); } } } });
}
+0
感謝您的回覆。PostConstruct是我的第二選擇,我真正想要的是劫持施工過程並替換construc與我自己的工廠打電話。它是否可行? –
+0
我不知道如何。當然,使用提供者會給你自由。 –
相關問題
- 1. Flask-admin;在行插入過程中添加自定義邏輯
- 2. Akka中的自定義線程邏輯
- 3. 帶參數的自定義Guice綁定註釋
- 4. Guice - 默認綁定定義
- 5. 如何注入Guice的SLF4J綁定?
- 6. Windows窗體數據綁定中的自定義邏輯
- 7. Rails輪胎:導入自定義邏輯
- 8. 如何在JAVA中使用邏輯創建自定義註釋
- 9. 如何應用自定義邏輯並將POJO綁定到Model?
- 10. 中編輯自定義綁定
- 11. 在JSF中定義自定義UI邏輯<script>標籤
- 12. tastypie中的自定義邏輯
- 13. 在Drupal視圖中暴露過濾器的自定義邏輯
- 14. Threadsafe Guice綁定
- 15. mouseleave /輸入綁定/解除綁定邏輯
- 16. WordPress的自定義帖子和自定義分類邏輯
- 17. Guice:綁定沒有註釋的參數
- 18. 基於自定義註釋的綁定
- 19. Guice綁定到Spring依賴注入中的實例相等
- 20. 何時將邏輯從VM移至Knockout中的自定義綁定更合適?
- 21. Guice:如何自定義第三方模塊的綁定?
- 22. 自定義邏輯「和」運算符
- 23. jQuery自定義圖像庫邏輯
- 24. ListView自定義排序邏輯
- 25. N2自定義登錄邏輯
- 26. 社交登錄的自定義邏輯
- 27. 自定義邏輯更新一行
- 28. PayPal按鈕上的自定義邏輯
- 29. dll自定義業務邏輯
- 30. 注入dependecy自定義過濾器angularJS
你也許可以使用這是一個'Provider',更高級的情況下可能需要一個'ProvisionListener'。 –