是否可以使用Java中的一组注释创建自定义注释?

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

我在我的系统中使用了lombok和JPA。所以对于实体类,它们看起来像:

@Getter
@Setter
@Entity
@NoArgsConstructor
@AllArgsConstructor
public class XxxEntity {
    ...
}

所以我的问题是,我可以创建一个自定义注释来分组这些所有这些注释吗?

所以它可能看起来像:

@CustomAnnotation
public class XxxEntity {
    ...
}

当我使用@CustomAnnotation时,它会将所有上述注释应用于该类。

这可能吗?

谢谢。

java spring annotations spring-data-jpa lombok
1个回答
2
投票

不,这是不可能的。您可以使用新注释将注释混合在一起,但注释处理器将无法理解它。 Spring中的@Caching注释只是注释处理器已知注释的一个示例。如果你通过复制@Caching创建一个自己的注释,我敢打赌你会发现它不起作用。

从理论上讲,它可以作为注释处理器读取任何注释并查看内部。但是,完全不清楚如何处理未知的注释。在其中放入其他注释没有标准化的含义。

特别是,这对龙目岛不起作用。有一些问题需要这个,例如here,但它非常复杂。

最终的解决方案是注释预处理器理解复合注释,并在普通注释处理器运行之前用它们的成分替换它们。但是没有这样的事情和AFAIK没有计划。

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