自定义注解

来源:互联网 发布:姚明新秀赛季数据 编辑:程序博客网 时间:2024/04/30 01:41
public class App_2 {    private String test;    @Id    @Author(remark = "保存信息!!!", age = 19)    public void save() throws Exception {        // 获取注解信息: name/age/remark        // 1. 先获取代表方法的Method类型;        Class clazz = App_2.class;        Method m = clazz.getMethod("save");        // 2. 再获取方法上的注解        Author author = m.getAnnotation(Author.class);        // 获取输出注解信息        System.out.println(author.authorName());        System.out.println(author.age());        System.out.println(author.remark());    }    @Test    public void testMain() throws Exception {        save();    }}

Author注解

import static java.lang.annotation.ElementType.CONSTRUCTOR;import static java.lang.annotation.ElementType.FIELD;import static java.lang.annotation.ElementType.LOCAL_VARIABLE;import static java.lang.annotation.ElementType.METHOD;import static java.lang.annotation.ElementType.PARAMETER;import static java.lang.annotation.ElementType.TYPE;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;//定义注解的生命周期@Target({TYPE,FIELD , METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE})//生命周期@Retention(RetentionPolicy.RUNTIME)public @interface Author {    String authorName() default "Carl_Hugo";    int age() default 18;    String remark();}
0 0