使用示例
依赖
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.12</version> <scope>provided</scope> </dependency>
使用方式
package com.mouday; import lombok.Getter; import lombok.Setter; @Setter @Getter public class User { private String name; private Integer age; }
编译结果
package com.mouday; public class User { private String name; private Integer age; public User() { } public void setName(String name) { this.name = name; } public void setAge(Integer age) { this.age = age; } public String getName() { return this.name; } public Integer getAge() { return this.age; } }
代码确实简洁了不少,还有IDE的代码提示
注解说明
@Getter/@Setter - 作用类上,生成所有成员变量的getter/setter方法 - 作用于成员变量上,生成该成员变量的getter/setter方法 @ToString:作用于类,覆盖默认的toString()方法 @EqualsAndHashCode:作用于类,覆盖默认的equals和hashCode @NonNull:主要作用于成员变量和参数中,标识不能为空,否则抛出空指针异常。 @NoArgsConstructor:生成无参构造器; @RequiredArgsConstructor:生成包含final和@NonNull注解的成员变量的构造器; @AllArgsConstructor:生成全参构造器 @Data:作用于类上,是以下注解的集合: - @ToString - @EqualsAndHashCode - @Getter @Setter - @RequiredArgsConstructor @Builder:作用于类上,将类转变为建造者模式 @Log:作用于类上,生成日志变量 @Cleanup:自动关闭资源 @SneakyThrows:可以对受检异常进行捕捉并抛出