@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)
public abstract String value