org.springframework.beans.factory.annotation

## Annotation Type Value

-     @Target(value={FIELD,METHOD,PARAMETER,ANNOTATION_TYPE})
       @Retention(value=RUNTIME)
       @Documented
      public @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:
    `AutowiredAnnotationBeanPostProcessor`, `Autowired`, `BeanExpressionResolver`, `AutowireCandidateResolver.getSuggestedValue(org.springframework.beans.factory.config.DependencyDescriptor)`

- - ### Required Element Summary

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

- - ### Element Detail

    - #### value

          public abstract String value

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