Lombok讲解

Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,如:getter、setter、equals、hashCode、toString等。

Lombok的常用注解有:

  1. @Data:这是一个自定义注解,它相当于@Getter、@Setter、@EqualsAndHashCode、@ToString四个注解的组合。
  2. @Getter:用于在类中的每个实例变量上自动生成getter方法。
  3. @Setter:用于在类中的每个实例变量上自动生成setter方法。
  4. @NoArgsConstructor:自动生成无参构造方法。
  5. @AllArgsConstructor:自动生成全参构造方法。
  6. @ToString:自动生成toString方法。
  7. @EqualsAndHashCode:自动生成equals和hashCode方法。
  8. @Slf4j:自动生成日志框架Slf4j的Logger。
  9. @Log4j:自动生成日志框架Log4j的Logger。
  10. @Builder:自动生成Builder模式的方法。
  11. @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;
}
相关推荐
starzy199033 分钟前
深入理解Scala可变Map:动态构建场景下的性能与设计权衡
开发语言·scala
奶油话梅糖1 小时前
打开项目 0.9 秒、内存只有 IDEA 的 1/12:OpenIDEA 用 Rust 把 IntelliJ IDEA 重造了一遍
java·rust·github·intellij-idea
vipxieliang1 小时前
语言对比卡:PHP vs Go vs Java 的优缺点、适用场景与「为什么选 PHP」
java·go·php
Rain的Java大神之路1 小时前
公交App上“还有2站,约5分钟”怎么实现?90%的人答错这道大厂面试题:GPS漂移、ETA不准、10万QPS热点读全拆透(附完整代码)
java·后端·面试
小小张说故事1 小时前
Python 的 a[1:5:2] 到底切出了什么?拆开 slice 对象、__getitem__ 与负步长那次反向
python
golang学习记1 小时前
IDEA 2026.3 远程开发迎来重磅升级
java·ide·intellij-idea·远程开发
wuyk5551 小时前
PyQt6-第15讲-数据可视化QChart
python·ui·信息可视化·pyqt
天天被压力2 小时前
【A股分钟级高频数据完全手册 #04】指数分钟级行情数据接口:沪深指数Pro版最新分时取数
java·人工智能·python
敲代码的小小酥2 小时前
谈SpringMVC与Spring WebFlux的区别与适用场景
java·后端·spring
日日大王学编程2 小时前
2026主流AI Agent产品分类、核心差异与技术特性全解析
人工智能·后端·python