Lombok 学习笔记

这个是前几天有同事推荐给我的一个神器,lombok,接下来就简单的给大家介绍下吧

Lombok简介

就是通过@Data注解的方式省去了我们平时开发定义JavaBean之后,生成其属性的构造器、getter、setter、equals、hashcode、toString方法;但是,在编译时会自动生成这些方法,在.class文件中。我们可以使用反编译把.class文件弄成java文件,去看下源码,但是这个有的人看不见get和set方法有些不是很舒服,因人而异吧

IDEA中的安装

打开IDEA的Setting –> 选择Plugins选项 –> 选择Browse repositories –> 搜索lombok –> 点击安装 –> 安装完成重启IDEA –> 安装成功

 引入依赖

在项目中添加Lombok依赖jar,在pom文件中添加如下部分

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.18</version>
    <scope>provided</scope>
</dependency>

使用

在对应的类或者方法上使用对应的注解即可,

Lombok有哪些注解

  • @Data 包含了@Getter,@Setter,@ToString,@EqualsAndHashCode

    @Getter 自动生成gettrt方法

    @Getter(AccessLevel.PROTECTED) 生成的getter方法是private修饰的,不是public的

    @Setter 自动生成setter方法

    @Setter(AccessLevel.PROTECTED) 生成的setter方法是private修饰的

    @NoArgsConstructor 没有参数的构造函数

    @AllArgsConstructor 所有参数的构造函数

    @ToString

    @ToString(exclude = "cloumn") tostring排除掉某个属性,比如不想要name属性,cloumn就写name属性就可以排除多个可用(exclude ={ "cloumn","cloumn"})

    @ToString(of = "cloumn") tostring方法指定只要那个字段,指定多个可用(of ={ "cloumn","cloumn"})

    @EqualsAndHashCode 重写该类的equals方法和hashcode方法

    @EqualsAndHash(exclude = "cloumn") 重写这些方法那些因子不会加入到这个方法中

    @Slf4j 这个用处直接可以调用小写的log

    @Log4j 当项目使用log4j日志架构时使用

注解详情

log

注解在类上

反编译

Java Decompiler

下载地址,http://jd.benow.ca/

需要注意的点

在类需要序列化,反序列化时详细控制字段时,例如jackdon json序列化

使用lombok虽然能省去手动创建get和set方法等繁琐,但是却降低了源代码文件的可读性和完整性,降低了阅读源代码的舒适度

使用@Slf4j和@Log4j看项目的日志框架,

选择合适的地方使用lombok,比如pojo是一个好地方,比较单纯

lombok优点

避免修改字段名字时忘记修改方法名

ide必须支持lombok,否则ide会报错

如果大家喜欢的可以添加我的微信公众号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值