Lombok的使用
2019-10-16 08:06:42来源:博客园 阅读 ()
Lombok的使用
为什么使用Lombok?
当我们创建一个javaBean的时候,往往会做一些重复性的事情,比如:getter和setter方法,toString方法,构造函数等等,如果只是有一两个类的话我们大可使用IDE来自动生成,但是如果类有很多的话我们不可能来手动生成,这样很浪费时间,并且会造成很多冗余的代码。而Lombok可以让我们使用注解,很轻松的完成这个事情。
安装Lombok
插件安装
在idea的Plugins中进行搜索Lombok进行安装
添加依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
或者在搭建项目时就勾选模块
使用Lombok
在安装插件时,可以看到介绍上有很多注解
@Getter和@Setter
顾名思义,这两个注解就是用来生成getter和setter方法的。如图所示,左边是java代码,右边是编译之后的。可以看到编译之后有了getter和setter方法。而那个无参构造是因为类本身就会有个默认的无参构造。
@AllArgsConstructor和@NoArgsConstructor
@AllArgsConstructor可以用来生成全参的构造方法,它有3个属性,其中access可以用来修改访问修饰符
@NoArgsConstructor可以用来生成无参构造方法,它有4个属性,其中access可以用来修改访问修饰符
@RequiredArgsConstructor
为每个需要特殊处理的字段生成构造方法,它对于所有被final修饰的且未初始化的字段有效,以及被@NonNull标记的未初始化的字段,都会生成一个构造方法。对于标有@NonNull还会生成一个显式的null检查。
如图:当变量上有@NonNull注解时,将会对带有@NonNull的未初始化变量生成构造方法。
同理对于未初始化的未初始化的 final 字段也是如此。如图所示,对于被final修饰的未初始化的name和age属性生成了构造参数,而对于初始化的description则没有生成。
@ToString
注释在类上,可以生成该类的toString()方法,默认情况下按照顺序打印
具体用法参考官方文档
@EqualsAndHashCode
注释在类上,可以用来生成equals()方法和hashCode()方法
@Data
注释在类上,用于生成getter和setter方法,equals方法,canEqual方法,hashCode方法,toString方法
@Slf4j
注解在类上,编译时会生成日志对象,在代码中可以直接使用log.info,log.debug等打印日志。
@Builder
在类上使用@Builder可以使用下面的代码进行赋值,
Animal animal = Animal.builder()
.name("dog")
.age(10)
.description("狗吃骨头")
.sex("male")
.build();
如:
运行后
至于更多的用法参考官方文档
原文链接:https://www.cnblogs.com/lz32158/p/11674261.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 聊聊 OAuth 2.0 的 token expire_in 使用 2020-06-08
- 为什么阿里巴巴Java开发手册中强制要求接口返回值不允许使用 2020-06-06
- 学习笔记之方法引用 2020-06-06
- idea使用小技巧(一) 2020-06-05
- 用斗地主的实例学会使用java Collections工具类 2020-06-05
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash