Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,如:getter、setter、equals、hashCode、toString等。
Lombok的常用注解有:
- @Data:这是一个自定义注解,它相当于@Getter、@Setter、@EqualsAndHashCode、@ToString四个注解的组合。
- @Getter:用于在类中的每个实例变量上自动生成getter方法。
- @Setter:用于在类中的每个实例变量上自动生成setter方法。
- @NoArgsConstructor:自动生成无参构造方法。
- @AllArgsConstructor:自动生成全参构造方法。
- @ToString:自动生成toString方法。
- @EqualsAndHashCode:自动生成equals和hashCode方法。
- @Slf4j:自动生成日志框架Slf4j的Logger。
- @Log4j:自动生成日志框架Log4j的Logger。
- @Builder:自动生成Builder模式的方法。
- @Getter和@Setter也可以在类或类方法的级别上单独使用,分别用于生成该类所有实例变量的getter/setter方法。
请注意,使用Lombok后,可以通过简单的注解形式来消除一些必须有但显得很臃肿的Java代码,但也会对Java编译器的一些检查产生影响,有些错误在编译时可能无法发现,需要在运行时才能发现,因此使用时要注意测试和验证。
依赖:
html
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.16</version>
</dependency>
示例:
java
@Data
public class User {
private Integer id;
private String username;
private String password;
}