Android和Java的依赖注入器:Dagger
jopen
12年前
Dagger是一个快速的Android和Java依赖注入器。
Use @Inject to annotate the constructor that Dagger should use to create instances of a class. When a new instance is requested, Dagger will obtain the required parameters values and invoke this constructor.
class Thermosiphon implements Pump { private final Heater heater; @Inject Thermosiphon(Heater heater) { this.heater = heater; } ... } Dagger can inject fields directly. In this example it obtains a Heater instance for the heater field and a Pump instance for the pump field.
class CoffeeMaker { @Inject Heater heater; @Inject Pump pump; ... } If your class has @Inject-annotated fields but no @Inject-annotated constructor, Dagger will use a no-argument constructor if it exists. Classes that lack @Inject annotations cannot be constructed by Dagger.
Dagger does not support method injection.