Lombok简介
Lombok是一款java开发插件,使得java开发者可以通过其定义的一些注解来消除业务工程中冗长和繁琐的代码,尤其对于简单的java模型对象(POJO)。在开发环境中使用Lombok插件后,java开发人员可以节省出重复构建,诸如hashCpde和equals这样的方法以及各种业务对象模型的accessor和toString等方法的大量时间。对于这些方法,它能够在编译源代码期间自动帮我们生成这些方法,并没有如反射那样降低程序的性能。
Lombok的优缺点
优点:
- 能够通过注解的形式自动生成构造器、getter/setter、equals、hashcode、toString等方法,提高了一定的开发效率
- 让代码变得更加简洁,不用过多的去关注相应的方法
- 属性做修改时,也简化了维护为这些属性所生成的getter/setter方法等
缺点:
-
不支持多种参数构造器的重载
-
虽然省去了手动创建getter/setter方法的麻烦,但大大降低了源代码的可读性和完整性,降低了阅读源代码的舒适度
-
首先在idea中安装lombok插件
-
在项目中导入lombok的jar包
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.16</version>
</dependency>
- 在实体类中添加注解(了解常用注解即可)
@Data注解:可动态生成无参构造、get、set方法、toString方法、hashcode方法、equals方法等等
@AllArgsConstructor注解:可动态生成带参构造方法覆盖无参构造方法
@NoArgsConstructor注解:可动态生成无参构造方法
@ToString注解:动态生成toString方法
@EqualsAndHashCode注解:动态生成equals方法和hashcode方法
@Getter注解:动态生成属性的get方法,注解放在类上则生成所有属性的get方法,放在某个属性上则生成某个属性的get方法
@Setter注解:动态生成属性的set方法,注解放在类上则生成所有属性的set方法,放在某个属性上则生成某个属性的set方法