当前位置:首页 > Java > 正文内容

Lombok的使用

flowstone7年前 (2019-02-03)Java509

近期在众多微信公众号中,都看到了许多大牛,写了Lombok的文章,我看了一下,基本上就围绕着如何减少代码来做说明,我来总结一下。

公司现在的项目没有使用Lombok,一些实体类都是我们用IDEA提供的快捷方式生成的,后来,公司新来了一个大牛,看到我们每当在一个实体类中新添加一个属性,就要重新生成一个Getter/Setter方法,浪费了大量的时间,一个实体类改了好多遍。后来,他叫我们使用Lombok插件,这款插件可以在编译的时候生成一些常用的方法,我们就不用那么浪费时间。

公司使用的是Maven包管理工具

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>


在使用的编辑器中添加lombok插件,我使用的是IntelliJ IDEA这款软件,国内用的比较多,大家应该知道安装一个插件。

在实体类上添加Lombok相关注解,来实现,生成对应方法

@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@RequiredArgsConstructor
@Data
public class LoginRequest {    
    private String username;    
    private String password;
}


@Getter 在类上说明生成该类中所有属性的Getter方法

@Setter 在类上说明生成该类中所有属性的Setter方法

上面两个方法,也可以使用在属性上,就是生成属性的Getter/Setter方法

@NoArgsConstructor注解,是生成无参构造方法

@AllArgsConstructor注解,是生成有参构造方法

@RequiredArgsConstructor注解,是生成不能为空属性的构造方法

@Data注解是生成Setter、Getter、toString等常用的方法

一般来说,@Data注解就够我们使用的了,如果有特殊的Getter、Setter需求,则需要自己生成对应的方法。最后,总结一些话,Lombok插件虽然能够帮助我们生成对应的方法,但是我们不能足够的依赖一个插件,如果实体类的属性命名不规范,Lombok生成的方法还是会有一些问题的,往往一个小的问题,是一个潜在的危险,我们应当能避免就避免。

常见问题,当项目运行时,如果某个属性没有Getter、Setter方法时,一定要看一下Lombok插件有没有安装。


扫描二维码推送至手机访问。

版权声明:本文由薛尧的博客发布,如需转载请注明出处。

本文链接:https://flowstone.sourceforge.io/?id=32

分享给朋友:

相关文章

Javamail简单使用案例

邮件开发环境搭建邮件服务器易邮邮件服务器配置如下 邮件客户端Foxmail配置如下 使用Javamail发送邮件1、下载javamail-samples.zipjavax.mail.jar官网地址http://www.o...

Quartz作业调度的入门使用

概念1.Job表示一个工作,要执行的具体的内容。此接口中只有一个方法2.JobDetailJobDetail表示一个具体的可执行的调度程序,Job是这个可执行调度程序所要执行的内容3.TriggerTrigger代表一个调度参数的配置4.S...

import和import static说明

今天学习rest assured自动测试框架时,写了一些Demo,看到官网上快速指南上有静态导入某个包,起初没有注意以为是import的另一种叫法,在代码的部分导入了所需要的包,但是不能调用包中的方法。后来在百度上找到了解释,原来静态导入包...

ElasticSearch从入门到放弃(一)-安装&运行

这几天看到新闻,说ElasticSearch上市了,真的没有想到这个非常流行的开源项目竟然上市了,这个公司的程序员都走上了财务自由的道路。 以前用过ElasticSearch全文搜索引擎,但是时间长也忘记了差不多了,以前而且还是用的老版本,...

Spring自定义注解详解

下面是RequestBody注解源码@Target(ElementType.PARAMETER) @Retention(RetentionPolicy.RUNTIME) @Documented public @interfa...

Java多线程-线程中止

不正确的线程中止-StopStop:中止线程,并且清除监控器锁的信息,但是可能导致 线程安全问题,JDK不建议用。 Destroy: JDK未实现该方法。/**  * @author simon  ...