Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/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
Java 在Dagger中创建对象_Java_Dependency Injection_Dagger 2 - Fatal编程技术网

Java 在Dagger中创建对象

Java 在Dagger中创建对象,java,dependency-injection,dagger-2,Java,Dependency Injection,Dagger 2,我试图学习Dagger,但我不明白如何在不为类编写组件的情况下获得类的实例 在Guice中,这将非常简单: final InterfaceA a = injector.getInstance(InterfaceA.class); 但据我所知,在Dagger中,我可以为InterfaceA创建一个组件,这样我就可以调用DaggerInterfaceA.a() 我想知道,是否有一种方法可以获得一个对象的实例,而不需要每次都制作一个组件?Guice使用反射,这样他就可以在运行时构建对象,并且图形依赖

我试图学习Dagger,但我不明白如何在不为类编写组件的情况下获得类的实例

在Guice中,这将非常简单:

final InterfaceA a = injector.getInstance(InterfaceA.class);
但据我所知,在Dagger中,我可以为
InterfaceA
创建一个组件,这样我就可以调用
DaggerInterfaceA.a()


我想知道,是否有一种方法可以获得一个对象的实例,而不需要每次都制作一个组件?

Guice使用反射,这样他就可以在运行时构建对象,并且图形依赖关系在运行时完成

Dagger使用代码生成,以便在构建应用程序时生成图形依赖项。
此代码生成将只针对cleary声明的组件进行,否则dagger将不得不为项目的所有类(甚至是类路径)生成代码。所以这将是完全低效的(或者对于complexe对象来说是不可能的)

这是有道理的,我想知道为什么我找不到这样的东西。非常感谢。