如何创建一组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) } )
- java.lang.ClassNotFoundException:com.fasterxml.jackson.annotation.JsonInclude $ Value
- jackson – 由于构造函数导致的JsonMappingException
- 序列化已经有了id的POJO(java.lang.String)
- Java JSON -Jackson-嵌套元素
- 如何@autowire一些bean进入JsonSerializer?
- Jackson映射器如何知道每个Json对象中的哪个字段要分配给类对象?
- 无法获得jersey 2应用程序使用自定义jackson XmlMapper
- 用Jackson以两种不同的方式序列化一个class级
- 如何为json响应添加和忽略字段