SpringBoot - Lombok的使用
前言
Lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具。
依赖
// 版本号可不添加
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
常用注解
注解 | 说明 |
---|---|
@Getter/@Setter | 此注解在属性或类上,可以为相应的属性自动生成 Getter/Setter 方法,还可以指定访问范围 |
@ToString | 类使用此注解,生成toString()方法 |
@EqualsAndHashCode | 用在类上,生成hashCode()和equals()方法 |
@Data | 注解在类上, 相当于同时使用了@ToString、@EqualsAndHashCode、@Getter、@Setter和@RequiredArgsConstrutor这些注解 |
@NonNull | 用在属性或构造器上,对参数是否为空检查 |
@NoArgsConstructor | 生成无参构造函数 |
@RequiredArgsConstructor | 生成不为空的构造函数 |
@AllArgsConstructor | 生成全参构造函数 |
@Value | 用在类上,是@Data的不可变形式,相当于为属性添加final声明,只提供getter方法,而不提供setter方法 |
@Builder | 表示可以进行生成器模式(Builder Pattern)方式初始化 |
生成器模式(Builder Pattern)
- 传统创建对象方式
TestEvt test = new TestEvt();
test.setName("");
test.setSex("");
- Builder模式
TestEvt testEvt = TestEvt.builder()
.name("")
.sex("")
.build();
- 注:@Builder模式会将类的无参构造方法私有化,如果再想使用new TestEvt(),需要自己手动在类中定义一个无参构造方法。
- 注:如果这个类需要能被当作一个Bean返回到前端还需要给类再加一个@Getter。