# 1.注解
【对线面试官】今天来聊聊Java注解 (opens new window)
# 什么是注解
3y:
注解:代码中的特殊标记,可以在编译、类加载、运行时被读取,并执行相对应的处理。
菜鸟教程:
Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。
Java 语言中的类、方法、变量、参数和包等都可以被标注。和 Javadoc 不同,Java 标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java 虚拟机可以保留标注内容,在运行时可以获取到标注内容 。 当然它也支持自定义 Java 标注。
# 开发时使用
3y:
Spring相关:@Controller / @Param / @Select
lombok:@Slf4j / @Data
原生Java:@Overried / @Deprecated / @FunctionalInterface 多用于标记和检查
原生Java除基本注解外,还有元Annotation(元注解),元注解就是来修饰注解的,常用元注解有@Retention和@Target
@Retention注解可以理解为设置注解的生命周期,而@Target表示这个注解可以修饰哪些地方(比如方法、还是成员变量、还是包等)
# 自定义注解
3y: