Package com.google.inject
Annotation Type Inject
-
@Target({METHOD,CONSTRUCTOR,FIELD}) @Retention(RUNTIME) @Documented @Keep public @interface Inject
Annotates members of your implementation class (constructors, methods and fields) into which theInjector
should 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
@Inject
or must have a constructor taking no parameters. The Injector then proceeds to perform field and method injections. - Pre-constructed instances passed to
Injector.injectMembers(java.lang.Object)
,LinkedBindingBuilder.toInstance(Object)
andLinkedBindingBuilder.toProvider(jakarta.inject.Provider)
. In this case all constructors are, of course, ignored. - Static fields and methods of classes which any
Module
has specifically requested static injection for, usingBinder.requestStaticInjection(java.lang.Class<?>...)
.
- Every instance it constructs. The class being constructed must have exactly one of its
constructors marked with
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description boolean
optional
If true, and the appropriate binding is not found, the Injector will skip injection of this method or field rather than produce an error.
-
-
-
Element Detail
-
optional
boolean optional
If 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.- Default:
- false
-
-