You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现类似Lombok的编译期注解为现有类添加字段?

编译期注解实现类字段动态添加需求

我在开发Spring+Hibernate应用时,存在is_active、is_deleted这类通用字段,但不想让所有实体类都通过映射超类的方式继承这些字段,希望能按需给指定类组合添加这类字段。因此计划自定义一个编译期注解,实现给标注类自动添加指定字段的效果。

自定义注解设计

期望的注解定义如下:

@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.TYPE)
public @interface AddNewVariable {
    String fieldName();
    Class<?> fieldType();
}

用法示例

给User类标注该注解:

@AddNewVariable(fieldName = "isActive", fieldType = Boolean.class)
class User {
    int id;
    String fullName;
    int age;
}

期望编译结果

编译后目标文件夹中的User类需自动新增指定字段:

class User {
    int id;
    String fullName;
    int age;
    boolean isActive;
}

遇到的问题

我尝试使用AbstractProcessor实现,但发现注解处理API仅能生成新文件,无法修改现有类,希望实现类似Lombok在编译期直接修改原有类的效果。

内容的提问来源于stack exchange,提问作者MuhammedSabbah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 04:19:59