是否可以使用 lombok 向静态工厂方法添加注释

Is it possible to add annotations to static factorymetods with lombok

如果我创建一个class喜欢

@Value
@AllArgsConstructor(staticName = "of", onConstructor = @__(@JsonCreator))
public class Test {
    String value;
}

onConstructor 属性被添加到构造函数中(这是有道理的)。但是我需要向工厂方法添加注释。这可能吗?

我的根本问题是试图让

{
    "test": 2018
}

反序列化为:

SomeJavaClass:
 private final Test test

由于 ConstructorProperties,这不起作用。

在设置了 staticNameonConstructor 的情况下,将注解放在静态工厂方法上是最合理的做法。在这种情况下,常规构造函数变为 private ,因此不能从其他地方使用(丑陋的反射技巧除外)。因此,大多数情况下注解只对静态工厂方法有意义。

但是,这不是 Lombok 当前的行为,也没有办法对 Lombok 进行不同的配置。我建议你create a feature request at GitHub。 但是,请注意 onX 功能是一项实验性功能,因此此功能请求可能会被拒绝或推迟。