对Lombok有点好奇。有人解释下原理么

使用Lombok的都知道 ,在属性前加入注解@Setter or @Getter后,在eclipse下就能够立马看到getter方法和setter方法
,Lombok采用 Annotation Processor实现增强setter和getter。可是问题是:他在注解后怎么就能立马写进去呢?是跟eclipse即时编译的事件有关?还是其他的呢?小弟没想明白

小弟开始以为是字节码增强。所以对各位表示歉意
问题补充
无人问津啊。。。
问题补充
求抛哥。。。求各位大牛
问题补充
又沉了啊 。。大家都不屑嘛 还是???
问题补充

RednaxelaFX 写道
Lombok不是通过字节码改写来实现的。
它主要是用编译器内支持的annotation processing,直接操纵抽象语法树(AST),根据需要添加新节点。
以javac为例的话,请参考官方文档:http://openjdk.java.net/groups/compiler/doc/compilation-overview/index.html

哦哦 谢谢了,我还以为是字节码增强的方式实现的呢。呵呵谢谢哈。

估计别人看到我的问题中就是错的 ,所以不屑回答嘛 呵呵
问题补充
skzr.org 写道
你的用户名很牛b。

我不会,所以不回答。

谢谢你,呵呵 你关注了 所以也算帮助了我

Lombok不是通过字节码改写来实现的。
它主要是用编译器内支持的annotation processing,直接操纵抽象语法树(AST),根据需要添加新节点。
以javac为例的话,请参考官方文档:[url]http://openjdk.java.net/groups/compiler/doc/compilation-overview/index.html[/url]

你的用户名很牛b。

我不会,所以不回答。

[quote="RednaxelaFX"]Lombok不是通过字节码改写来实现的。
它主要是用编译器内支持的annotation processing,直接操纵抽象语法树(AST),根据需要添加新节点。
以javac为例的话,请参考官方文档:[url]http://openjdk.java.net/groups/compiler/doc/compilation-overview/index.html[/url][/quote]

记得在 <> 技术里好像看到过annotation processing, 但是我印象那个是说给用APT工具来根据注释生成额外的内容.

能稍微再讲解一些么.thx.

[quote="JE帐号"][quote="RednaxelaFX"]Lombok不是通过字节码改写来实现的。
它主要是用编译器内支持的annotation processing,直接操纵抽象语法树(AST),根据需要添加新节点。
以javac为例的话,请参考官方文档:[url]http://openjdk.java.net/groups/compiler/doc/compilation-overview/index.html[/url][/quote]

记得在 <> 技术里好像看到过annotation processing, 但是我印象那个是说给用APT工具来根据注释生成额外的内容.

能稍微再讲解一些么.thx.

[/quote]
那么先读一下这篇文章或许有帮助:[url=http://www.ibm.com/developerworks/cn/java/j-lombok/?ca=drs-]利用 Project Lombok 自定义 AST 转换[/url]