注释类型 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
@Valueannotation is performed by aBeanPostProcessorwhich in turn means that you cannot use@ValuewithinBeanPostProcessororBeanFactoryPostProcessortypes. Please consult the javadoc for theAutowiredAnnotationBeanPostProcessorclass (which, by default, checks for the presence of this annotation).