Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将com.google.inject替换为javax.inject_Java_Gwt_Dependency Injection_Guice_Gwt Gin - Fatal编程技术网

将com.google.inject替换为javax.inject

将com.google.inject替换为javax.inject,java,gwt,dependency-injection,guice,gwt-gin,Java,Gwt,Dependency Injection,Guice,Gwt Gin,javax.inject注释真的可以直接替代com.google.inject吗 所以,如果我用javax.inject中的注释替换了当前所有的guice/gin注释,我的应用程序就可以正常编译和运行了 首先,javax.inject是否覆盖了google.inject覆盖的所有基础?是的,它可以正常工作。事实上,guice的作者(Bob Lee)是javax.inject规范的规范负责人 javax.inject.inject没有optional属性,因此如果您想要可选的依赖项,就必须使用gu

javax.inject注释真的可以直接替代com.google.inject吗

所以,如果我用javax.inject中的注释替换了当前所有的guice/gin注释,我的应用程序就可以正常编译和运行了


首先,javax.inject是否覆盖了google.inject覆盖的所有基础?

是的,它可以正常工作。事实上,guice的作者(Bob Lee)是
javax.inject
规范的规范负责人


javax.inject.inject
没有
optional
属性,因此如果您想要可选的依赖项,就必须使用guice注释。

实际上,我选择了避免切换到javax.inject,因为我发现与guice提供的(我使用的)相比,规范非常简单:

  • @可选
    ,如@Bozho所述
  • @ImplementedBy
    当您想要减少显式绑定的数量(为了代码清晰)以及当您想要能够在需要时轻松覆盖默认的
    @ImplementedBy
    绑定时(例如用于集成测试),这非常有用

可能还有其他的,但对我来说,这两个已经是showtopper了。

请参见。

请不要编辑我的guice标签。