javax.inject注解真的可以作为com.google.inject的直接替代品吗?
因此,如果我将所有当前的guice/gin注释替换为javax.inject中的那些注释,我的应用程序就可以正常编译和运行了?
首先,javax.inject是否涵盖了google.inject涵盖的所有基础内容?
发布于 2011-10-20 21:57:45
是的,它会工作得很好。事实上,guice的作者(Bob Lee)是javax.inject规范的规范负责人。
javax.inject.Inject没有optional属性,所以如果您想要一个可选的依赖项,就必须使用guice注释。
发布于 2011-10-21 23:47:52
实际上,我选择不切换到javax.inject,因为与Guice提供的(我使用的)相比,我发现它的规范非常简约:
@Bozho
@ImplementedBy提到的@Optional,当您想要减少显式绑定的数量(为了代码清晰),并且想要能够根据需要轻松地覆盖默认@ImplementedBy绑定(例如,用于集成测试)时,它非常有用。可能还有其他人,但对我来说,这两个已经是惊人的了。
发布于 2011-10-23 19:02:19
https://stackoverflow.com/questions/7837010
复制相似问题