主题切换
Java注解核心笔记
一、注解基础概念
注解是元数据标签,自身不包含业务执行逻辑,仅做标记;依靠@Retention划分3种生命周期,由编译器、字节码工具、框架处理器根据注解标记完成对应逻辑处理。
SOURCE:仅源码阶段生效,编译后丢弃,交由编译器校验(例:@Override)CLASS:存入class字节码文件,运行时JVM不加载,供ASM等字节码工具解析(例:@JsonIgnore)RUNTIME:保留至程序运行期,框架通过反射读取注解实现功能(例:@Transactional)
二、四大元注解(定义注解的注解,面试重点)
元注解用于自定义注解,共4个核心注解:
| 注解 | 作用说明 |
|---|---|
@Retention | 约束注解生命周期,三选一:SOURCE/CLASS/RUNTIME,决定注解存活阶段 |
@Target | 限定注解可标注位置:类、成员变量、方法、形参、构造器等 |
@Documented | 标注后,注解信息会被提取进JavaDoc文档 |
@Inherited | 开启注解继承特性:子类可自动继承父类上标注的该注解;默认注解无法被继承 |