Lombok setter 用于注入的静态变量

Lombok setter for injected static variables

我有这个字段,现在我想注入:

public class MyConstants {
    public final static String SOME_CONST = "someConts";
    public final static String INJECTED_CONST = "injectedConst"; //<--- I want to inject this!

}

因此,除了删除 final 之外,我还阅读了 this 关于如何将值注入静态变量的文章,结果是:

public class MyConstants {
    public final static String SOME_CONST = "someConts";
    @NonNull public static String INJECTED_CONST;

    @Value("${const.injectedConst}")
    public void setInjectedConst(String injectedConst) {
        INJECTED_CONST = injectedConst;
    }
}

太好了,我如何使用 @Setter "Lombok-ize"?

您可以尝试这样的操作:

@RequiredArgsConstructor(onConstructor = @__(@Value("${const.injectedConst}"))

这将创建顶部带有 Value 注释的构造函数。不过,您需要再次将字段设置为 final。我不明白你到底需要什么,所以我不知道这是否能解决你的问题。请告诉我。