注解是对代码的标识、程序的解释。比如Component表示是被BeanFactory管理的bean。比如实体类上对属性的描述、验证。 入侵到代码里,但带来一定方便易读性
- 内置注解:jdk自带的。Override、SuppressWarnings、
Deprecated - 元注解: 对于注解的注解。Target、Retention、Inherited、Document、Repeatable
描述保留时间范围:SOURCE-CLASS-RUNTIME
表示继承关系:子类可以继承父类中的该注解
语法糖:可重复的注解,jdk8出现的语法糖。一个容器加注解数组 - 注解 注解方法 返回值 注解元素必须有值 default
使用经验: java字节码操作技术:asm或者bytebuddy
升级spring后,无法扫描到自定义注解形式的mapper包。将自定义注解的生命周期改为RUNTIME
之前版本直接读取的class文件,默认为CLASS可以读到注解信息
之后版本读的class文件加载到内存的Class类,要RUNTIME才能获取。