1、JDK自带注解
@Override:覆盖实现父类的方法;
@Deprecated:该方法已经过时
@SuppressWarnings(“deprecation”):忽略警告(此为忽略deprecated警告)
2、常见第三方注解
@Autowired :
它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作;
Spring @Service :
是一个切面注解,告诉spring创建一个实现类的实例
@Repository:
3、注解的分类
(1)源码注解:只存在于源码,.class中就没有了
(2)编译时注解:源码和class中都存在<@Override...>
(3)运行时注解:运行时也会起作用<@Autowired>
4、自定义注解
(1)自定义注解的语法
//元注解:解释注解的注解
@Target({ElementType.METHOD,ElementType>TYPE}) //作用域
@Retention(RetentionPolicy.RUNTIME) //生命周期 runtime source class
@Inherited //允许继承
@Documented //生成Doc包含注解
//如果注解只有一个成员,则成员名必须取名为value(),可以没有注解
public @interface Description{
//使用@interface关键字定义注解
String desc(); //成员变量以无參无异常方式声明,类型受限
String author();
int age() default 18; //可以以default为成员指定一个默认值
}
5、使用自定义注解
//通过注解初始化
@<注解名>(<成员名1>=<成员值1>,<成员名2>=<成员值2,....>)
@Description(decs="I am eyeColor",author="boy",age=18)
public String eyeColor(){
return ""blue;
}
6、解析注解
通过反射获取类、函数或成员上的
运行时注解信息,从而实现动态控制程序运行时逻辑。