代码事例
//注解类
package com.test.dao
import java.lang.annotation.Documented
import java.lang.annotation.ElementType
import java.lang.annotation.Inherited
import java.lang.annotation.Retention
import java.lang.annotation.RetentionPolicy
import java.lang.annotation.Target
import javax.annotation.Resource
@Target({ ElementType.TYPE, ElementType.METHOD })
@Documented //是否在文档中生成
@Inherited //是否允许继承
@Retention(RetentionPolicy.RUNTIME)
public @interface Test {
//可以通过default给参数赋默认值
int age() default 1
String name()
String Date()
}
package com.test.dao;
@Test(Date = "2016-5-4", name = "zhang",age=15)
public class UserDao {
static{
System.out.println("userdao 加载");
}
}
package com.test.dao;
import java.lang.annotation.Annotation;
public class testMain {
public static void main(String[] args) throws ClassNotFoundException {
Class user=Class.forName("com.test.dao.UserDao");
Annotation bool= user.getAnnotation(Test.class);
Test test= (Test)user.getAnnotation(Test.class);
System.out.println(test.Date());
}
}