注释类型 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 aBeanPostProcessor
which in turn means that you cannot use@Value
withinBeanPostProcessor
orBeanFactoryPostProcessor
types. Please consult the javadoc for theAutowiredAnnotationBeanPostProcessor
class (which, by default, checks for the presence of this annotation).