Can Byte Buddy create fields and method annotations at runtime?

久未见 提交于 2019-12-06 15:06:51

Yes, please refer to the Annotations section of the documentation for details.

You can build an annotation using an AnnotationDescription.Builder by:

AnnotationDescription.Builder.ofType(MapToProperty.class)
                             .define("property", "<value>")
                             .build();

The resulting AnnotationDescription can be supplied to a dynamic type builder as an argument:

new ByteBuddy()
  .subclass(Object.class)
  .defineField("foo", Void.class)
  .annotateField(annotationDescription)
  .make();

Similarly, it works for methods.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!