lombok入门
lombok 是一个非常神奇的 java 类库,会利用注解自动生成 java Bean 中烦人的 Getter、Setting,还能自动生成 logger、ToString、HashCode、Builder 等 java
特色的函数或是符合设计模式的函数,能够让你 java Bean 更简洁,更美观。
lombok原理
Java 源码编译由以下三个过程组成:
- 词法分析、语法分,输出结果是 符号表 和 AST 语法树
- 注解处理
- 语义分析和生成 class 文件
那么 lombok 是在那里添加要插入的代码呢?估计是注解处理的部分吧。
lombok注解
val,var 神奇的类型注解,可以代表任意类型
类型 | 解释 |
---|---|
val,var | 神奇的类型推到,可以代表任意类型 |
@Getter and @Setter | |
@ToString | |
@EqualsAndHashCode | |
@NonNull | |
@AllArgsConstructor、@RequiredArgsConstructor、@NoArgsConstructor | 构造函数部分,针对不同情况的构造函数 |
@Data | 相当于 @Getter + @Setter + @ToString + @EqualsAndHashCode + RequiredArgsConstructor |
@Value | 类变成只读模式 |
@Builder | builder 模式,会创建内 Builder |
@Singular | 要配合 builder 使用,会对(List、Set)等生成更方便函数 |
@Cleanup | 告别烦人的释放的资源 |
@Log, @Log4j, @Log4j2, @Slf4j, @XSlf4j | |
@CommonsLog, @JBossLog, @Flogger | 不同框架的日志注解 |
@SneakyThrows | 偷偷摸摸地抛出异常 |
@Delegate | 带实验性质的,能非常方便实现代理模式 |
@Accessors | 带实验性质的存取器 |
@Wither | 带实验性质的,根据被修饰的成员变量创建类 |
lombok详细学习
推荐博客:https://www.hellojava.com/a/74973.html