创建用于声明和初始化对象的自定义批注

问题描述 投票:0回答:1

我想创建一个注释,它将成为目标TYPE并声明一个自定义类的对象。

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface Test {
}

class Student{

}

Perform

@Test
class example{
    //Want this annotation to declare something like this
    Student s = new Student();
}
java annotations
1个回答
0
投票

注解处理器规范AFAIK通常不支持此功能。带注释的类不得操纵其自己的AST。

[Lombok(提供了提到的@ Slf4j注释)似乎找到了一些不受支持的钩子,实际上使它成为了hack。

如果您仍然想做类似的事情,我建议您看一下Lombok源代码。

© www.soinside.com 2019 - 2024. All rights reserved.