因为final 修饰后定义时必须实例化,而且其他地方不能修改
我觉得
如果要自动化: 就只使用 spring ,不要混入 Guice。老师最后的总结中也说了这个问题,spring项目的话就使用spring的注入就好了,没必要引入Guice,但是有可能你引用别人的项目,别人使用的是Guice,这时就要用到老师课程中的混合啦。
刚开始看第7章,看到那么多的 @Bean ,头都大了。 但是,看到后面就没那多多了(好像只剩下两个了,有一个是引入`com.google.inject.Injector`的,这个应该是必须的)。 后面都重构了的。你可以下载源码看下。
不然每一个guice组件都要在spring @Bean手动注入,逻辑业务组件一多起来,这样感觉也挺麻烦的
我的理解是: 使用 @Bean 引入 `com.google.inject.Injector` 就可以了,其他的都交给 Guice
首先非常谢谢同学的肯定。
运行时的话,Inject一个Injector,然后通过Injector来getInstance。在与spring协作这里就是这么用的。
一个module需要另一个module的话,用install,然后就可以inject别人绑定的实例了。当然如果有重复绑定,需要用Modules.override。