@Target(value={FIELD,METHOD,PARAMETER,ANNOTATION_TYPE})
@Retention(value=RUNTIME)
@Documented
public @interface Value
Typically used for expression-driven dependency injection. Also supported for dynamic resolution of handler method parameters, e.g. in Spring MVC.
A common use case is to assign default field values using "#{systemProperties.myProp}" style expressions.
Note that actual processing of the @Value annotation is performed
by a BeanPostProcessor which in turn means that you cannot use
@Value within
BeanPostProcessor or
BeanFactoryPostProcessor
types. Please consult the javadoc for the AutowiredAnnotationBeanPostProcessor
class (which, by default, checks for the presence of this annotation).
AutowiredAnnotationBeanPostProcessor,
Autowired,
BeanExpressionResolver,
AutowireCandidateResolver.getSuggestedValue(org.springframework.beans.factory.config.DependencyDescriptor)| Modifier and Type | Required Element and Description |
|---|---|
java.lang.String |
value
The actual value expression: e.g.
|