Java学习——Lombok

以下是对Lombok的详细介绍及结合并发编程的完整项目示例,代码已通过Gradle集成Lombok并包含详细解析。


一、Lombok概述

1. 什么是Lombok?

Lombok是一个Java库,通过注解在编译时自动生成样板代码(如Getter/Setter、构造函数等),减少手动编写的重复代码,提升开发效率。其核心原理是利用注解处理器(Annotation Processor)在编译阶段修改AST(抽象语法树),直接生成字节码文件,不侵入运行时环境。

2. Lombok的核心作用
  • 减少样板代码:自动生成getter/settertoString()equals()、构造函数等,使代码更简洁。
  • 提升可维护性:避免手写代码错误(如hashCode实现不一致)。
  • 增强可读性:聚焦业务逻辑而非重复代码。

二、常用注解详解

注解 作用 示例
@Data 生成所有字段的getter/setter、toString()equals()hashCode() 替代整个POJO类的手写代码
@AllArgsConstructor 生成全参数构造函数 User(String name, int age)
@NoArgsConstructor 生成无参构造函数 User()
@Builder 实现建造者模式 User.builder().name("Tom").build()
@SneakyThrows 自动捕获并抛出受检异常(如IOException 避免try-catch
@Synchronized 生成线程安全的同步方法(基于私有锁对象) 替代synchronized关键字

完整注解列表见https://projectlombok.org/。


三、Gradle集成Lombok

build.gradle中添加依赖:

dependencies {
    // Lombok核心依赖
    compileOnly 'org.projectlombok:lombok:1.18.30'
    annotationProcessor 'org.projectlombok:lombok:1.18.30'
    
    // 并发支持
    implementation 'org.springframework.boot:spring-boot-starter-web'
}

注意:IDE需安装Lombok插件(如IntelliJ的Lombok Plugin)。


四、并发编程项目示例

项目场景

模拟多线程银行账户交易系统,使用Lombok简化模型类,并通过线程池处理并发转账。

代码结构
import lombok.*;
import java.util.concurrent.*;
import java.util.concurrent.locks.ReentrantLock;

// 1. 使用Lombok生成账户模型
@Data
@AllArgsConstructor
@Builder
class BankAccount {
   
   
    private String id;
    private double balance;
    private final ReentrantLock lock = new ReentrantLock(); // 显式锁保证线程安全
}

// 2. 转账任务(实现Callable)
@RequiredArgsConstructor
class TransferTask implements Callable
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lemon_sjdk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值