idea 安装 Lombok 插件:
File->Settings->Plugins->搜索 lombok 下载
在项目中导入 lombok 的 jar 包:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.34</version>
</dependency>
在实体类上加注解:
@Data,包含无参构造、get、set、toString、hashcode、equals
@AllArgsConstructor,有参构造(显式地定义了有参构造,无参构造只能手动赋值)
@NoArgsConstructor,无参构造
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private int id;
private String name;
private String pwd;
}
Structure 结构:
Lombok 插件提供的注解:
@Getter and @Setter
@FieldNameConstants
@ToString
@EqualsAndHashCode
@AllArgsConstructor, @RequiredArgsConstructor and @NoArgsConstructor
@Log, @Log4j, @Log4j2, @Slf4j, @XSlf4j, @CommonsLog, @JBossLog, @Flogger, @CustomLog
@Data
@Builder
@SuperBuilder
@Singular
@Jacksonized
@Delegate
@Value
@Accessors
@Tolerate
@Wither
@With
@SneakyThrows
@StandardException
@val
@var
@UtilityClass
Lombok 优点:
1.通过注解自动生成构造器、getter、setter、equals、hashcode、toString 等方法,提高开发效率
2.不用过多关注相应方法
3.属性修改时,简化维护这些属性生成的 getter、setter 方法等
Lombok 缺点:
1.不支持多种参数构造器的重载
2.降低源码可读性和完整性