手记

【备战春招】第6天 全面解析JAVA注解

课程名称:

课程章节:第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";

}

课程收获:

对基本的注解有了初步了解,知道了注解的作用域、生命周期、注解的分类,期待后续更多注解的学习。


0人推荐
随时随地看视频
慕课网APP