Annotation Interface Value


Annotation used at the field or method/constructor parameter level that indicates a default value expression for the annotated element.

Typically used for expression-driven or property-driven dependency injection. Also supported for dynamic resolution of handler method arguments — for example, in Spring MVC.

A common use case is to inject values using #{systemProperties.myProp} style SpEL (Spring Expression Language) expressions. Alternatively, values may be injected using ${my.app.myProp} style property placeholders.

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

Since:
3.0
Author:
Juergen Hoeller
See Also:
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    The actual value expression such as #{systemProperties.myProp} or property placeholder such as ${my.app.myProp}.
  • Element Details

    • value

      String value
      The actual value expression such as #{systemProperties.myProp} or property placeholder such as ${my.app.myProp}.