如何创建一组jackson注释注释?

大约一年后,我读了一篇文章,解释了如何创建一个基本上是其他注释容器的注释。 这样,如果我总是在特定用例中使用相同的5个注释,我会创建一个包含它们的注释并使用它。

不幸的是,我再也找不到这篇文章,而且我现在真的想为我的jackson配置做这件事。

由于我自己无法找到任何相关信息,我开始质疑我的记忆。 这可能还是我错了?

编辑

我想要的是:

@Target(ElementType.METHOD) @com.fasterxml.jackson.databind.annotation.JsonSerialize(using=MySerializerThatIsUsedEverywhere.class @javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter(MyCustomXmlAdapter.class) @SomeOtherEvaluatedByTheSerializer public @interface SerializerUseCase01 { public String a(); public int b(); ) 

我的情况是我有一堆序列化用例,可以由具有不同配置的相同序列化程序处理。 为了使一切更容易使用和更透明,我想将jackson配置和序列化器配置包装成一个注释。

对于jackson来说,这可以通过@JacksonAnnotationsInside元注释来完成。 有关详细信息,请参阅此文章 ,但有以下代码段:

 @Retention(RetentionPolicy.RUNTIME) // IMPORTANT @JacksonAnnotationsInside @JsonInclude(Include.NON_NULL) @JsonPropertyOrder({ "id", "name" }) public @interface MyStdAnnotations 

从这里你可以将这种类型用于你自己的类,如下所示:

 @MyStdAnnotations public class MyBean { public String name, id; } 

这里有一些例子说明如何制作包含其他注释的注释的各种组合。 这是你在找什么?

来源示例:

 @Target(ElementType.METHOD) public @interface SimpleAnnotation { public String a(); public int b(); ) @Target(ElementType.METHOD) public @interface ReallyComplexAnnotation { public SimpleAnnotation[] value(); ) 

像这样使用:

 @ReallyComplexAnnotation( { @SimpleAnnotation(a="...", b=3), @SimpleAnnotation(a="...", b=4) } )