0

我对 IoC 容器很陌生,我打算在一个新项目中使用一个。我不确定我是否一定会需要它,但架构有可能会增长,所以很高兴知道这可以工作。

该项目是一个使用 Resteasy 构建的 Web 服务,并与 Guice 集成。我已经设置它并且它有效。我的问题是如何选择一个接口的实现,因为可以有多个,基于一个变量。例如,用户发送的参数。显而易见的解决方案是一个大的 switch/case 语句,但我希望容器会有所帮助。我查看了辅助注射和 guice 工厂,但我无法解决我的问题。

任何建议都会有所帮助。

4

2 回答 2

1

mapbinder 扩展正是您所需要的:http: //google-guice.googlecode.com/git/javadoc/com/google/inject/multibindings/MapBinder.html

于 2013-08-20T22:30:11.003 回答
0

我没有使用过 guice,所以无法帮助具体到 guice。

但一般的想法应该是使用工厂。Spring提供工厂bean,可用于根据需要初始化bean。

我相信也应该有类似的东西guice。考虑使用它,这应该是一个好习惯。


用谷歌搜索一下我就到了这个页面:FactoryProvider,我相信这是你应该考虑的。

于 2013-08-20T11:25:59.743 回答