我想创建一个自定义注释(使用Java),该注释将接受其他注释作为参数,例如:
public @interface ExclusiveOr {
Annotation[] value();
}
但这会导致编译器错误“注释成员的类型无效”。
Object []也无效。
有什么方法可以做我想要的吗?
我本人就此提出针对此问题的解决方法:
好吧,我想要实现的是这样的:
@Contract({
@ExclusiveOr({
@IsType(IAtomicType.class),
@Or({
@IsType(IListType.class),
@IsType(ISetType.class)
})
})
})
拟议的解决方法:
用以下方法定义一个无参数构造函数的类(稍后将由您自己的注释处理器调用):
final class MyContract extends Contract{
// parameter-less ctor will be handeled by annotation processor
public MyContract(){
super(
new ExclusiveOr(
new IsType(IAtomicType.class),
new Or(
new IsType(IListType.class),
new IsType(ISetType.class)
)
)
);
}
}
用法:
@Contract(MyContract.class)
class MyClass{
// ...
}
我想做如下事情:- 我想将AnnotationImplementationClass与被注释的类隔离开来,这样我就可以打包和分发自定义注释及其实现,从而允许开发人员使用@MyCustomAnnotation注释他们自己的spring boot应用程序类。 限制条件是我不知道Spring Boot类(在本例中为Application.java)的类名,显然我无权访问该类来修改它。我必须在运行时以某种
问题内容: 我阅读了有关的Javadoc 。 但是我不明白这个注释是什么意思? 你能清楚说明一下吗? 问题答案: 当你使用Java代码(而不是XML)配置Spring应用程序时,用于启用Spring MVC。如果你还不熟悉Spring对Java配置的支持,那么这是一个不错的起点。 等效于XML。它支持对带注释的类的支持,该类用于将传入的请求映射到某个方法。你可以在参考文档中阅读有关其默认配置以及如
我有一个第三方域对象,我希望使用Jackson将其序列化为JSON。这里有很多可以通过公共getters访问的属性,但是我只对其中很小的一部分感兴趣。由于这是第三方对象,所以我选择了mixin路线。然而,除了mixin接口上定义的那些之外,我找不到一个好方法来排除原始类中的所有内容。我试图在mixin类上指定@JsonIgnoreProperties,但是它很快失去控制,忽略了大量的属性。有什么解
在这种情况下,NotNull-annotation有什么意义?
我正在使用注释处理器来处理方法参数的注释。 用于参数的注释类型有一个注释@参数 现在,当注释处理器运行时,我想检查参数注释()是否有参数注释。我通过执行以下代码来实现这一点。 由于某种原因,arg始终为空。是否有注释未返回的原因?