我对IoC容器相当陌生,我计划在新项目中使用一个。我不知道我肯定会需要它,但是架构有可能会增长,所以很高兴知道这可以起作用。基于条件的Guice注入
该项目是一个使用Resteasy与Guice集成的Web服务。我已经设置好了,它可以工作。我的问题是如何选择一个接口的实现,因为可以有几个基于变量。例如,用户发送参数。显而易见的解决方案将是一个大型开关/案例声明,但我希望容器能够提供帮助。我查了一下辅助注射和guice工厂,但我不能解决我的问题。
任何意见将有所帮助。
我对IoC容器相当陌生,我计划在新项目中使用一个。我不知道我肯定会需要它,但是架构有可能会增长,所以很高兴知道这可以起作用。基于条件的Guice注入
该项目是一个使用Resteasy与Guice集成的Web服务。我已经设置好了,它可以工作。我的问题是如何选择一个接口的实现,因为可以有几个基于变量。例如,用户发送参数。显而易见的解决方案将是一个大型开关/案例声明,但我希望容器能够提供帮助。我查了一下辅助注射和guice工厂,但我不能解决我的问题。
任何意见将有所帮助。
mapbinder Extension正是你所需要的:http://google-guice.googlecode.com/git/javadoc/com/google/inject/multibindings/MapBinder.html
我还没有与guice合作,所以不能帮助特定于guice。
但通用的想法应该是使用工厂。 Spring
提供了工厂bean,可以根据需要使用它来初始化bean。
我相信guice
也应该有类似的东西。考虑使用它,并且应该是一个好习惯。
一个小Googling带我到这个页面:FactoryProvider,我相信这是你应该考虑什么。