Lombok是一个用来简化我们Java代码的插件,在我们创建一个javabean时,往往会生成大量的get、set方法,虽然我们可以通过开发软件自动生成这些方法,但是依然十分麻烦。如果我们要添加新属性,我们还要生成get、set方法以及重写toString方法,这些重复且繁琐的代码已经影响到了我们的开发效率。
使用lombok插件,我们不需要在去写get、set等方法了,只需一个注释就可以让我们的javabean增加许多功能。同时它还提供了对打印日志的处理,这样在使用Lombok以后就会大大减少项目中的代码量,同时由于Lombok有自动修改的功能,这也提供了项目中代码的执行效率。
Lombok插件的安装与使用
在Idea软件中,我们可以直接对插件进行安装,安装步骤如下:
1. 点击File -> Settings,在列表中可以看到Plugins
2. 点击过Plugins后,在上方输入框输入Lombok,进行搜索
3. 找到对应的插件,点击Install安装
4. 下载过后,执行下方操作,之后重启IDEA
Build,Execution,Deployment -> Compiler ->Annotation Processors ->勾选 Enable annotation processing
5. 在maven工程中导入相关依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
Javabean与使用lombok插件后的javabean对比:
创建一个User类生成对应的get、set方法
使用@Data注解,我们可以看到类中的参数并不是灰色的,说明注解已经起作用了
Lombok中的常用注解
@Data注解 : 作用在类上,其包含的方法最多,相当于使用了所有的注解,包含了get、set、toString、equalsAndHashCode....
@RequiredArgsConstructor注解: 作用在类上,提供 get、set方法,以及equals、canEqual、hashCode、toString 等方法
@Setter注解: 作用在类上或属性上,提供getter方法
@Getter注解: 作用在类上或属性上,提供setter方法
@ToString注解: 作用在类中或属性上,相当于重写toString方法,如果有父类的话,可以使用@ToString(callSuper = true)调用父类toString()方法
@EqualsAndHashCode注解: 作用在类上或属性上,重写对应的equals方法和hashCode方法;
@NonNull注解: 作用在属性上,表示该属性不能为空
@Slf4j注解 : 作用在类上;可以在需要打印日志的类中使用,结合log4j打印日志框架,简化打印日志的流
程
@Log4j : 作用在类上;结合log4j打印日志框架,为类提供一个 属性名为log 的 log4j 日志对象,用来简化打印日志的流程
@NoArgsConstructor注解: 作用在类上或在类中使用,生成当前类的无参构造方法
@AllArgsConstructor注解: 作用在类上或在类中使用,生成对应的有参构造方法;
@AllArgsConstructor注解: 为类提供一个全参的构造方法