专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

Java注解-注解绝对是一个不容忽视的存在

ins518 2024-10-28 16:34:08 技术文章 11 ℃ 0 评论

一、背景

今天用idea学习lombok时遇到一个问题,注解@Getter @Setter 编译通过通过struct视图也可以看到动态添加的 方法,但是运行时就会提示方法不存在。开始以为是依赖引入时机不对,调整后还是没有效果。百度一下需要这么操作:

在gradle中添加lmobok的依赖

作为常年使用eclipse的我觉得有必要搞搞清楚idea的这个AnnotionProcessor是个什么鬼东西了。

二、Java注解脑图

三、AnnotionProcessor

首先并不是idea创造的东西,而是java提供的编译时注解处理机制。两种编译时解析方案
1. APT(Annotation Processing Tool)
2. Pluggable Annotation Processing API

2.1、APT

apt自JDK5产生,JDK7已标记为过期、不推荐使用,JDK8中已彻底删除,自JDK6开始,可以使用Pluggable Annotation Processing API来替换它,Apt被替换主要有2点原因:

  • api都在com.sun.mirror非标准包下
  • 没有集成到javac中,需要额外运行
    Apt的更多介绍可以参见这里
    https://docs.oracle.com/javase/7/docs/technotes/guides/apt/GettingStarted.html

2.2、Pluggable Annotation Processing API

JSR 269,自JDK6加入,作为apt的替代方案,它解决了apt的两个问题,javac在执行的时候会调用实现了该API的程序,这样我们就可以对编译器做一些增强,这时javac执行的过程如下:

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表