Spring @RequestParam name 和 value

源码如下:

@Target({ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RequestParam {
    @AliasFor("name")
    String value() default "";

    @AliasFor("value")
    String name() default "";

    boolean required() default true;

    String defaultValue() default "\n\t\t\n\t\t\n\ue000\ue001\ue002\n\t\t\t\t\n";
}

由此可以看出,name的别名为value,value的别名为name  所以两者等同。

 

 

 

@AliasFor 给属性加别名

// value 的别名为attribute, attribute的别名为value
public
@interface AliasFor { @AliasFor("attribute") String value() default ""; @AliasFor("value") String attribute() default ""; Class<? extends Annotation> annotation() default Annotation.class; }

还能看出, 定义别名必须互为别名,你等于我我等于你

 

posted on 2018-11-21 20:06  蜂巢巧克力面包  阅读(4667)  评论(0)    收藏  举报