课程名称:
课程章节:第2章 JAVA中的常见注解
课程讲师: 刘果国
课程内容:
一、JAVA中的常见注解
1、JDK自带的注解
@Override,覆盖父类的方法
@Deprecated,过时的方法
@SuppressWarnings("deprecation"),忽略警告
2、常见第三方注解
Spring
@Autowired
@Service
@Repository
Mybatis
@InsertProvider
@UpdateProvider
@Options
3、JAVA注解的分类
按照运行机制分
源码注解:注解只在源码中存在,编译成.class文件就不存在了
编译时注解:注解在源码和.class文件中都存在,如上述JDK自带的三个注解
运行时注解:在运行阶段还起作用,甚至会影响运行逻辑的注解,如@Autowired
按照来源分
有来自JDK的注解、来自第三方的注解、我们自己定义的注解
元注解,注解的注解
二、自定义注解
1、自定义注解的语法要求
@Target({ElementType.METHOD,ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inhertied
@Documented
public @Interface Description {
String desc();
String author();
int age() default 18;
}
成员类型是受限的,合法的类型包括原始类型及String,Class,Annotation,Enumeration
如果注解只有一个成员,则成员名必须取名为value(),在使用时可以忽略成员名和赋值号(=)
注解类可以没有成员,没有成员的注解称为标识注解
2、注解的注解(元注解)
@Target({ElementType.METHOD,ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME),生命周期
@Inhertied,允许子类继承
@Documented,生成JavaDoc时包含注解的信息
3、使用自定义注解
@<注解名>(<成员名1>=<成员值1>,<成员名2>=<成员值2>,……)
@Description(desc="I am eyeColor",author="Mooc boy",age=18)
public String eyeColor(){
return "red";
}
课程收获:
对基本的注解有了初步了解,知道了注解的作用域、生命周期、注解的分类,期待后续更多注解的学习。