Annotation Interface Value
@Target({FIELD,METHOD,PARAMETER,ANNOTATION_TYPE})
@Retention(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:
-
Required Element Summary
-
Element Details
-
value
String valueThe actual value expression such as#{systemProperties.myProp}
or property placeholder such as${my.app.myProp}
.
-