lombok 常用注解
时间: 2024-09-21 15:13:19 浏览: 56
Lombok提供了一系列方便的注解,使得开发者能简洁地创建常见Java元素而无需手动编写大量的样板代码。以下是Lombok中一些常用的注解:
1. `@Getter` 和 `@Setter`: 自动生成getter和setter方法,简化属性访问。例如:
```java
@Data // 等同于 @NoArgsConstructor, @AllArgsConstructor, @ToString, @EqualsAndHashCode, @Getter, @Setter
class User {
private String name;
}
```
2. `@ToString`: 自动生成对象的字符串表示形式。
3. `@NoArgsConstructor` 和 `@AllArgsConstructor`: 分别用于生成无参构造函数和包含所有字段的全参数构造函数。
4. `@AllArgsConstructor` 或 `@NoArgsConstructor` 的变体,如 `@NoArgsConstructor`, `@RequiredArgsConstructor`, `@AllArgsConstructor` with/without varargs,允许更精细的控制构造函数参数。
5. `@Slf4j` 或 `@NonNull`: 注解用于标记日志级别和非空值,便于日志管理和null安全检查。
6. `@Builder`: 生成一个带有默认值和链式方法的构建器,方便对象的构造。
7. `@DataSuperclass` 和 `@Singular`: 提供继承和集合操作的便利性。
8. `@Value`: 类似于`@AllArgsConstructor`,但它会忽略所有`final`字段,不会生成equals, hashCode, toString方法,只保留基本类型字段。
9. `@NoArgsConstructor` 的否定形式 `@NoArgsConstructor(false)`: 可以禁用Lombok自动生成的无参构造器。
10. `@JsonInclude(JsonInclude.Include.NON_NULL)`: 对应于Jackson JSON序列化,将null值排除在外。
这些注解大大提高了Java开发的效率,但在实际应用中需谨慎使用,保持代码清晰易懂。
阅读全文