[英]Guice injection based on a condition
我對IoC容器很陌生,並且打算在一個新項目中使用它。 不確定我是否肯定會需要它,但是架構可能會增長,因此很高興知道它可以工作。
該項目是由Resteasy構建的Web服務,已與Guice集成。 我已經設置好並且可以使用。 我的問題是,如何基於一個變量來選擇接口的實現,因為可以有多個實現。 例如,用戶發送了參數。 顯而易見的解決方案是使用大型switch / case語句,但我希望容器能有所幫助。 我已經查看了輔助注射和護具工廠,但是我無法解決我的問題。
任何建議都會有所幫助。
mapbinder擴展正是您所需要的: http : //google-guice.googlecode.com/git/javadoc/com/google/inject/multibindings/MapBinder.html
我尚未使用guice,因此無法幫助特定於guice。
但是一般的想法應該是使用工廠。 Spring
提供了工廠bean,可以根據需要使用它來初始化bean。
我相信guice
也應該有類似的東西。 考慮使用它,應該是一個好習慣。
進行了一些谷歌搜索,將我帶到了此頁面: FactoryProvider ,我相信這是您應該考慮的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.