⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

注解处理器 APT:编译时生成代码

APT(Annotation Processing Tool)在编译阶段扫描注解,自动生成 Java 源文件或辅助代码,如 Lombok、MapStruct 等框架的核心机制。 · 难度:入门 · +15XP

注解处理器 APT:编译时生成代码

Java 注解处理器(APT)是 javac 的一部分,通过继承 AbstractProcessor 并实现 process 方法,可以在编译期间处理特定注解。处理器通过 RoundEnvironment 获取被注解的元素,然后使用 Filer 创建新的 Java 文件。通常需要注册处理器(META-INF/services 或使用 Google AutoService)。下面演示一个简单的处理器,为被 @Builder 注解的类生成一个 builder 方法。

// 注解定义
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.TYPE) @Retention(RetentionPolicy.SOURCE) public @interface Builder { }

// 处理器核心简化代码(需完整实现 AbstractProcessor) // @AutoService(Processor.class) // public class BuilderProcessor extends AbstractProcessor { // @Override // public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) { // for (Element element : roundEnv.getElementsAnnotatedWith(Builder.class)) { // // 使用 Filer 生成新的 Java 源文件 // } // return true; // } // }

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 133 篇
0 完成
🔥 0