草庐IT

java - 如何使 lombok 注释真正适用于 getter 和 setter

我正在尝试使用lombokgetters和setters注释。据我所知,带注释的代码是在运行时生成的,而不是编译时生成的,那么如何借助自动生成的getter和setter来编写代码?比如我有这样一个类@lombok.Getters@lombok.SetterspublicclassMyLombokTesting{privateStringuserName;}但是如果这些注释不是在编写代码时生成的,那么这些注释有什么用...现在我想做这样的事情MyLombokTestingmyLombokTesting=newMyLombokTesting();Stringusername=myLomb

java - Lombok @Data 是否会覆盖现有的 toString 和 hashCode 方法?

最近我们开始在我们的项目中使用Lombok特性。我们为Domain对象添加了@Data注释,这是由于Lombokapi提供的hashCode()方法抛出了一些异常。后来,当我添加@Setter和@Getter而不是@Data时,我没有发现任何问题。问题1:Lombok@Data是否覆盖类中现有的方法,如hashCode()和toString()?问题2:为什么hashCode()会在这里出问题? 最佳答案 是的,@Data意味着@EqualsAndHashCode和@ToString。参见the@Datadocumentation.

java - 如何在使用 Lombok 生成的 IntelliJ IDEA 中的 setter 方法中设置断点?

在IntelliJIDEA中有没有办法在Lombok生成的setter方法中设置一个断点?这在某些调试场景中非常有用,例如查看何时从Hibernate等框架调用setter。其实生成的setter方法是在IntelliJIDEA的结构View中显示的(使用的是Lombok插件)。但是我还没有找到通过上下文菜单等设置断点的方法。 最佳答案 作为解决方法,您可以使用JavaFieldWatchpoint。在这种情况下,字段的每次访问/修改都会导致断点。这种方法的缺点是当您直接访问/修改字段或使用getter/setter方法时都会导致线

java - 如何使用 lombok 生成标准访问器和流畅的访问器?

我试过了。@lombok.Getter@lombok.Setter@lombok.Accessors(chain=true,fluent=true)privateStringprop;并且@Accessor优先,getProp和setProp不生成。我怎样才能让它生成这个?publicStringgetProp(){returnprop;}publicStringprop(){//returnprop;returngetProp();//wowfactor}publicvoidsetProp(Stringprop){this.prop=prop;}publicSomeprop(Stri

Java Lombok "@Getter"不适用于字段

我一直试图让Lombok在IntelliJIDEA中工作,但每当我尝试使用它的任何注释时,我都会收到如下错误消息:Error:(5,5)java:annotationtypenotapplicabletothiskindofdeclaration我的代码看起来像这样,使用他们主页上的示例。importjdk.nashorn.internal.objects.annotations.Getter;publicclassGetterSetterExample{@Getterprivateintage=10;}我已经安装了lombok插件,并在设置中启用了注释处理器。我在Java1.8.0_

java - 如何让 QueryDSL 和 Lombok 协同工作

当使用Lombok注释对方法或变量进行注释时,maven插件将通过处理JPA的源代码生成来进行投诉。我在控制台日志中遇到了这种故障:symbol:class__location:classServiceBaseMessageC:\workspaces\[...]\service\ServiceBaseMessage.java:44:error:cannotfindsymbol@Getter(onMethod=@__({@JsonProperty("TYPE")}))如何使JPA注释的apt-maven-plugin和queryDSL处理器与lombok注释一起工作?

java - Lombok @Log4j2 注释在 IntelliJ IDEA 中不起作用

这个问题在这里已经有了答案:Can'tcompileprojectwhenI'musingLombokunderIntelliJIDEA(42个答案)关闭3年前。我在我的项目中使用Lombok库,但@Log4j2注释有问题。不知道为什么,但它没有在class中生成log字段。但是当我将注释更改为@Slf4j时,它起作用了,我可以在IntelliJIDEA的“结构”选项卡中看到它。我正在使用gradle作为构建工具。几乎没有依赖关系”dependencies{compileOnly("org.projectlombok:lombok")compile("org.springframewo

java - lombok @Builder 是否允许扩展

我有2个类:importlombok.Builder;@BuilderpublicclassBextendsA{}和importlombok.Builder;@BuilderpublicclassA{}在B上的@Builder上,我收到消息:ThereturntypeisincompatiblewithA.builder().这是lombok的限制吗?或者我做错了什么?如果我将@Builder关闭A,那么B上的Builder似乎不会考虑中的字段B的构造函数中的A。 最佳答案 最新的lombok版本1.18.2包括thenewexpe

java - 如何覆盖 Lombok Setter 方法

我在我的项目中使用了lombok,并使用@Setters和@Getters生成了Setters和GettersPOJO类之上的注释。我正在尝试覆盖属性的setter方法,但它不起作用我想检查JSON属性是Empty还是Null我想在Setter方法中设置默认值@Setter@Getter@NoArgsConstructor@AllArgsConstructor@Accessors(chain=true)@ToStringpublicclassDefaultModel{privateStringname;@Setter(AccessLevel.NONE)privateStringage;

java - 静态导入在 intelliJ 的 lombok 构建器中不起作用

我在IntelliJ中使用Lombok。虽然当我尝试静态导入Lombok构建器时其他一切工作正常,但IntelliJ构建项目找不到构建器类。如果您不使用静态导入,它工作正常。 最佳答案 这是一个已知的错误,而且不容易修复。在注释处理器运行之前解析静态导入。这是javac中的问题,而不是lombok中的问题。披露:我是lombok开发者。 关于java-静态导入在intelliJ的lombok构建器中不起作用,我们在StackOverflow上找到一个类似的问题: