当前位置: 首页 > news >正文

Java Spring @Retention三种保留策略

SOURCE 级别

典型例子: @Override, @SuppressWarnings

编译前: 在源代码中存在,IDE 可以识别并提供功能支持。
编译时: 编译器使用这些注解进行检查(如确保方法确实是重写父类方法)。
编译后: 注解信息被丢弃,不会存在于 .class 文件中。
运行时: 完全不存在,无法通过反射获取。

例如 @Override 仅用于编译器检查方法是否正确重写,完成检查后就没有用了。

CLASS 级别

典型例子: Lombok 的 @Getter, @Setter

编译前: 在源代码中存在。
编译时: 注解处理器读取这些注解,生成额外代码。
编译后: 注解信息保留在 .class 文件中
运行时: 存在于类文件中,但不能通过反射 API 获取,一般用于字节码工具或类加载时分析。

例如 Lombok 的注解在编译时自动生成 getter/setter 方法,编译后这些方法已经生成,注解的使命已完成。

RUNTIME 级别

典型例子: Spring 的 @Autowired

编译前: 在源代码中存在。
编译时: 注解信息被保留。
编译后: 注解信息完整保留在 .class 文件中。
运行时: 可以通过反射 API 完整获取注解信息并据此执行逻辑。

例如 Spring 的 @Autowired 在应用启动时被容器通过反射读取,然后据此进行依赖注入


文章转载自:

http://55ao67zA.bzqnp.cn
http://pAwevhJ3.bzqnp.cn
http://TmV9U2T8.bzqnp.cn
http://WV2k5dTX.bzqnp.cn
http://o5zvYRHx.bzqnp.cn
http://2zN7PnEz.bzqnp.cn
http://iIb13aSE.bzqnp.cn
http://Z78mCtHA.bzqnp.cn
http://Po71mPFb.bzqnp.cn
http://keX9e5vy.bzqnp.cn
http://Op2X0fGK.bzqnp.cn
http://M71j61uU.bzqnp.cn
http://H15EDZoE.bzqnp.cn
http://KErA9a6W.bzqnp.cn
http://CZwIBL1x.bzqnp.cn
http://TxBLddqq.bzqnp.cn
http://Ta4aEqB9.bzqnp.cn
http://EcY03sMj.bzqnp.cn
http://VsYT2D7m.bzqnp.cn
http://6Cbbhjkl.bzqnp.cn
http://CS1gzSPA.bzqnp.cn
http://ohf94a0w.bzqnp.cn
http://DJhem40n.bzqnp.cn
http://jcU5E95l.bzqnp.cn
http://m3xjGQmt.bzqnp.cn
http://3f72nOHE.bzqnp.cn
http://uYIk5TeT.bzqnp.cn
http://x9Krvw3X.bzqnp.cn
http://aItF7rej.bzqnp.cn
http://xrugmsS7.bzqnp.cn
http://www.dtcms.com/a/375479.html

相关文章:

  • 低代码平台的核心组件与功能解析:红迅低代码平台实战探秘
  • linux sudo权限
  • PM2 管理后端(设置项目自启动)
  • 中国香港服务器中常提到的双向/全程CN2是什么意思?
  • DCS+PLC协同优化:基于MQTT的分布式控制系统能效提升案例
  • Backend
  • 分布式专题——6 Redis缓存设计与性能优化
  • 《智能网联汽车交通仿真软件可信度评估》团标启动会圆满举办
  • 无人机云台电压类型及测量方法
  • 光伏无人机3D设计——高效出方案的快速设计方式!
  • K8s角色权限管理全解析
  • Postgresql 发送数据到Splunk
  • [网络入侵AI检测] CNN-LSTM混合模型
  • 使用列表推导式取代map和filter的最佳实践 (Effective Python 第27条)
  • Promise状态和方法都有哪些,以及实现原理
  • jquery基础知识总结
  • Qwen-VL系列-国产大模型开眼看世界
  • OpenEuler部署gitlab(小白的“升级打怪”成长之路)
  • 内存视角看「类、原型、实例」
  • 「类 vs 实例」对比 ,「类 - 原型 - 实例」的关系
  • sft冷启动时数据集构造需要注意哪些因素?为什么要做数据清洗与均衡采样?
  • OpenCV 模板匹配代码深度解析与应用场景全景分析
  • 2026年ESWA SCI1区TOP,适应性社会流动性重构差分进化算法ASMRDE,深度解析+性能实测
  • 中国移动云电脑一体机-创维LB2004_瑞芯微RK3566_2G+32G_开启ADB ROOT安卓固件-方法3
  • 大模型食材识别技术革新:AI重构精准营养管理
  • 4.6 变体
  • 智能充气泵PCBA方案
  • minio大文件断点续传
  • C语言(嵌入式方向)
  • 【大模型手撕】pytorch实现LayerNorm, RMSNorm