首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

Spring 中互为别名的作用是啥?@AliasFor

  •  
  •   sun1992 · 341 天前 · 2094 次点击
    这是一个创建于 341 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如注解 AliasFor 中 value 和 attribute 互为别名,这样设置的好处是啥?真的有更方便使用吗?

    因为觉得存在即合理,所以想知道这样做的意义是啥。希望各位大佬能答疑解惑~

    @Retention(RetentionPolicy.RUNTIME)
    @Target({ElementType.METHOD})
    @Documented
    public @interface AliasFor {
        @AliasFor("attribute")
        String value() default "";
    
        @AliasFor("value")
        String attribute() default "";
    
        Class<? extends Annotation> annotation() default Annotation.class;
    }
    
    6 回复  |  直到 2019-01-04 09:51:39 +08:00
        1
    werty   341 天前
    Java 注解必须要有 value 吧, 但 value 又不能体现出值的实际含义, 所以就互相别名呗
        2
    jakes   341 天前
    @Anno("test") 相当于 @Anno(value="test")

    互为别名一般是用于将 attribute 设为注解的默认属性吧?这是我的理解,看看楼下怎么说。
        3
    sun1992   340 天前
    @werty “ Java 注解必须要有 value ” ,没有这个说法吧,没有 value 也是可以正常运行的
        4
    sun1992   340 天前
    @jakes 嗯 你这个有一定道理,简写的确方便一点。还有其他好处吗?
        5
    chendy   340 天前
    都已经翻到源码了,那就往上看一眼,注释里说的很清楚了…
        6
    werty   340 天前
    @sun1992 我没说清楚, 使用 @TestAnnotation("xxxx") 这种方式的时候, 必须要有名为 value 的 method, 所以俩互为别名, 一个负责方便一个负责体现实际含义
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2954 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 19ms · UTC 11:31 · PVG 19:31 · LAX 03:31 · JFK 06:31
    ♥ Do have faith in what you're doing.