【发布时间】:2020-10-17 08:39:09
【问题描述】:
我想实现一个自定义注释,当其他类使用它时会向它们公开两种方法。如下图所示:
@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.TYPE)
public @interface BaseEntity{
public String toString(){ return "Hello" ;}
public String toCustomString() { return "my hello";}
}
现在我想要的是任何类使用上述注释。默认情况下,它会将这些方法暴露给它,就像我们使用 @Getter 时 Lombok 所做的一样
@BaseEntity
public class Person{}
Person p = new Person();
p.toCustomString(); // this should work
【问题讨论】:
-
嗨,有趣,也许使用Byte Buddy 或custom lombok annotation?
-
您始终可以创建自己的 Lombok 注释处理程序,但请记住,它有点脆弱,编写自己的代码可能不会那么痛苦
-
是的,创建自己的 Lombok 注释处理程序对我来说也很脆弱。所以想知道是否有其他方法可以实现这一目标。
标签: java annotations lombok