Annotation Type Value

public @interface Value

Annotation at the field or method/constructor parameter level that indicates a default value expression for the affected argument.

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).

Juergen Hoeller
See Also:
AutowiredAnnotationBeanPostProcessor, Autowired, BeanExpressionResolver, AutowireCandidateResolver.getSuggestedValue(org.springframework.beans.factory.config.DependencyDescriptor)

Required Element Summary
 String value
          The actual value expression: e.g.

Element Detail


public abstract String value
The actual value expression: e.g. "#{systemProperties.myProp}".