【发布时间】:2016-06-10 09:19:29
【问题描述】:
我使用 Spring 构建了一个 ModelMap,它被渲染然后由 Mustache 解析。出于这个原因,我有一些类仅用于包装数据以方便 Mustache。
这些类具有从未在代码中使用的字段和方法,但实际上由 Spring(以及反过来,Mustache)使用。我想通过使用如下所示的自定义注释@ForMustache 对类进行注释来明确声明这是故意的:
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.SOURCE)
public @interface ForMustache {
}
我的目标基本上是一种花哨的说法@SuppressWarnings("unused") // For Mustache。
我试图用@SuppressWarnings("unused") 注释ForMustache,但它的效果应用在我的注释中,而不是传播到用@ForMustache 注释的类型。
我可以用另一个注解代理或模仿@SuppressWarnings("unused")吗?
【问题讨论】:
-
不,这些注释是为编译器设计的,它只会将它们逐字应用到它们所在的元素上。但也许有办法不触发该警告。
-
This question 与您正在尝试做的事情密切相关(您只是想创建一个只包含一个注释而不是多个注释的元注释)。这甚至可能是该问题的重复。
-
@zapl 感谢您的提示,我会尝试调查!
-
@JonK 不,我认为不是,因为 SuppressWarnings 的性质。此外,注释是由 Spring 处理的,所以我可以使用“元注释”。
标签: java spring annotations