我对IoC容器非常陌生,我计划在一个新项目中使用一个容器。我不确定我是否会需要它,但是这个体系结构有可能会增长,所以很高兴知道它能起作用。
该项目是一个与Guice集成的用Resteasy构建的web服务。我已经安排好了,而且成功了。我的问题是如何选择一个接口的实现,因为可以有几个,基于一个变量。例如,用户发送参数。显而易见的解决方案是一个大型的开关/case语句,但我希望一个容器会有所帮助。我已经查过辅助注射和盖斯工厂,但我不能适应我的问题。
任何建议都会有帮助。
发布于 2013-08-20 22:30:11
映射绑定扩展正是您所需要的:http://google-guice.googlecode.com/git/javadoc/com/google/inject/multibindings/MapBinder.html
发布于 2013-08-20 11:25:59
我没有和guice合作过,所以我无法帮助guice。
但是通用的想法应该是使用工厂。Spring提供了工厂bean,它可以用于根据我们的需要初始化bean。
我认为guice也应该有类似的东西。考虑使用它,应该是一个很好的实践。
稍微谷歌一下,我就看到了这个页面:FactoryProvider,我相信这是你应该考虑的。
https://stackoverflow.com/questions/18333705
复制相似问题