java-annotation的简单介绍

package com.yangwei.shop.entity;

/**
 * annotation作用 一是进行标识,二是进行约束
 *
 *///必须让它在运行时能够执行@Retention(RetentionPolicy.RUNTIME)
public @interface ShopDi {

    /**
     * 表示为这个annotation加了一个属性值,如果没有定义default,必须在使用该annotation时定义该属性
     * @ShopDi(abc="XXX")
     */
    String abc() default "";
    /**
     * value是Annotation的默认属性,在定义的时候可以不用vaule=""定义,而是直接通过
     * @ShopDi("XXX")
     * 特别注意,当需要定义两个以上的属性时,默认属性就不起作用了,此时需要如下形式定义
     * @ShopDi(value="XXX",abc="YYY")
     */
    String value() default "";
}
package com.yangwei.shop.test;

import com.yangwei.shop.entity.ShopDi;

public class TestAnnotation {

    //abc属性没有default时,必须指定值
    @ShopDi(abc="abc")
    public void test01(){

    }
    //abc属性有default时,可以不指定
    @ShopDi
    public void test02(){

    }
    //value值的指定方式
    @ShopDi("hello")
    public void test03(){

    }
    //value值的指定方式
    @ShopDi(value="hello",abc="world")
    public void test04(){

    }

}
上一篇:KVM的前世今生


下一篇:【转】awk学习笔记