如何创建作为一组杰克逊注释的注释?

How to create an annotation that is a group of Jackson annotations?(如何创建作为一组杰克逊注释的注释?)
本文介绍了如何创建作为一组杰克逊注释的注释?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

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

A year or so I read an article that explained how I could create an annotation that basically is a container for other annotations. This way if I always use the same 5 annotations in a specific use-case I create an annotation that contains them and use that instead.

很遗憾,我再也找不到这篇文章了,我很想现在就为我的 jackson 配置做这篇文章.

Unfortunately, I can't find the article anymore and would really like to do that right now for my jackson configuration.

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

Since I can't find any information on that on my own I'm beginning to question my memory. Is this possible or I am just wrong?

编辑

我想要的是这样的:

@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 配置和序列化器配置包装到一个注释中.

my scenario is that i have a bunch of serialization use cases that can be handled by the same serializer with different configs. To make everything easier to use and more transparent i want to wrap the jackson config and the serializer config into one annotation.

推荐答案

对于 Jackson,这可以通过 @JacksonAnnotationsInside 元注释来完成.有关更多信息,请参阅这篇文章,但其中的代码片段是:

For Jackson, this can be done with @JacksonAnnotationsInside meta-annotation. See this article for more, but code snippet from there is:

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

从那时起,您可以将这种类型用于您自己的类,如下所示:

and from thereon you can use this type for your own classes like so:

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

这篇关于如何创建作为一组杰克逊注释的注释?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

How to send data to COM PORT using JAVA?(如何使用 JAVA 向 COM PORT 发送数据?)
How to make a report page direction to change to quot;rtlquot;?(如何使报表页面方向更改为“rtl?)
Use cyrillic .properties file in eclipse project(在 Eclipse 项目中使用西里尔文 .properties 文件)
Is there any way to detect an RTL language in Java?(有没有办法在 Java 中检测 RTL 语言?)
How to load resource bundle messages from DB in Java?(如何在 Java 中从 DB 加载资源包消息?)
How do I change the default locale settings in Java to make them consistent?(如何更改 Java 中的默认语言环境设置以使其保持一致?)