Lombok 学习笔记,lombok学习笔记
Lombok 学习笔记,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会报错
如果大家喜欢的可以添加我的
相关文章
- 暂无相关文章
用户点评