Annotation Interface Inject
Annotates members of your implementation class (constructors, methods and fields) into which the
Injectorshould inject values. The Injector fulfills injection requests for:
- Every instance it constructs. The class being constructed must have
exactly one of its constructors marked with
@Injector must have a constructor taking no parameters. The Injector then proceeds to perform method and field injections.
- Pre-constructed instances passed to
LinkedBindingBuilder.toProvider(Provider). In this case all constructors are, of course, ignored.
- Static fields and methods of classes which any
Modulehas specifically requested static injection for, using
In all cases, a member can be injected regardless of its Java access specifier (private, default, protected, public).
Optional Element SummaryModifier and TypeOptional ElementDescription
booleanIf true, and the appropriate binding is not found, the Injector will skip injection of this method or field rather than produce an error.
optionalboolean optionalIf true, and the appropriate binding is not found, the Injector will skip injection of this method or field rather than produce an error. When applied to a field, any default value already assigned to the field will remain (guice will not actively null out the field). When applied to a method, the method will only be invoked if bindings for all parameters are found. When applied to a constructor, an error will result upon Injector creation.