@Target(value=METHOD)
@Retention(value=RUNTIME)
public @interface ValueProvider
AnnotatedDependencySource
.
This value provided by this method will be a candidate for
injection in a field annotated by InjectValue
and that
has exactly the same type as the return type of the method when
a call to DependencyInjector.inject(Object)
is done.
If multiple methods provides the same dependency in the same class,
then the first one will be picked.
A method annotated with this annotation MUST NOT return a null value.