您现在的位置是:首页 > 后台技术 > JavaJava
代码简洁之道-lombok(图文)
第十三双眼睛2023-08-30【Java】人已围观
简介lombok使用介绍
本节介绍java工具包lombok
官网:https://projectlombok.org/
作用:简化pojo的书写:getter setter toString equals hashCode 等等方法
pojo: plain ordinary java object 简单java对象,不包含业务逻辑,可以控制对象内部属性的对象,主要用来做数据承载。
dto:data transfer object 数据转换对象
do: data object 和数据库表一一对应,也有人用做po persist object
bo: business object 业务对象
vo: view object 视图层对象
DDD: command co ao 更多了
java bean 和pojo的区别
他们都没有业务逻辑
pojo不需要无参构造函数,javabean必须有无参构造函数
pojo属性的访问权限无限制,javabean不能通过属性访问,只能通过getter setter方法来访问
使用方式:
eclipse
1:引入依赖
2:把lombok jar包放在eclipse的安装目录
3:然后打开控制台,执行命令java -jar lombok的jar包名称,然后在弹出的对话框中选择eclipse的安装位置
安装完成以后,重启eclipse就可以使用了。
idea:
1:引入依赖
2:在idea的菜单中勾选:file->settings->annotation-processors 勾选 enable annotation processing --jsr269规范 插件式注解处理规范
3:在plugins中安装插件lombok
重启idea后即可使用
构造函数注解的使用
全参构造函数:@AllArgsConstructor
无参构造函数:@NoArgsConstructor
需要参数不能为空的构造函数:@RequiredArgsConstructor
@NonNull:属性上面加了该注解后,则该属性会被包含在构造函数中
@getter @setter:用来生成get方法和set方法
可以加在类上,会生成所有属性的get方法和set方法,如果不希望生成某个属性的方法,可以在此属性上添加@getter @setter注解,并指定value属性的值,即可不生成,
也可以不在类上加,加在想生成get set方法的属性上
注意:自己写的优先级更高,不会被覆盖。
@toString:生成toString方法
设置of属性的值,可以控制哪些字段被添加到toString方法中
设置exclude属性的值,可以控制哪些字段不被添加到toString方法中,和of相反
设置callSuper属性可以控制是否调用父类的toString方法
@EqualsAndHashCode:用来生成equals方法和hashCode方法
设置of属性来指定用哪些属性来生成equals方法和hashCode方法,比如数据库中的数据,id肯定是不一样的,就可以用id来生成
设置exclude属性的值,可以控制哪些字段不被用来生曾equals方法和hashCode方法
@Data:相当于很多注解的集合,包含@setter @getter @toString @EqualsAndHashCode 使用所有的属性
@Accessors:是否启用链式编程,设置chain为true即可启用,将返回值改为类本身。
fluent属性:设置之后,之前的get set方法就不是get set开头了,而是直接以属性的方式。
@Builder:和@Accessors作用一样,启用链式编程,和@Accessors不同是使用构造者模式编程
@Log:针对java.util.logging包下的Logger
@Slf4j:专门针对项目里面使用的log4j的情况
官网:https://projectlombok.org/
作用:简化pojo的书写:getter setter toString equals hashCode 等等方法
pojo: plain ordinary java object 简单java对象,不包含业务逻辑,可以控制对象内部属性的对象,主要用来做数据承载。
dto:data transfer object 数据转换对象
do: data object 和数据库表一一对应,也有人用做po persist object
bo: business object 业务对象
vo: view object 视图层对象
DDD: command co ao 更多了
java bean 和pojo的区别
他们都没有业务逻辑
pojo不需要无参构造函数,javabean必须有无参构造函数
pojo属性的访问权限无限制,javabean不能通过属性访问,只能通过getter setter方法来访问
使用方式:
eclipse
1:引入依赖
2:把lombok jar包放在eclipse的安装目录
3:然后打开控制台,执行命令java -jar lombok的jar包名称,然后在弹出的对话框中选择eclipse的安装位置
安装完成以后,重启eclipse就可以使用了。
idea:
1:引入依赖
2:在idea的菜单中勾选:file->settings->annotation-processors 勾选 enable annotation processing --jsr269规范 插件式注解处理规范
3:在plugins中安装插件lombok
重启idea后即可使用
构造函数注解的使用
全参构造函数:@AllArgsConstructor
无参构造函数:@NoArgsConstructor
需要参数不能为空的构造函数:@RequiredArgsConstructor
@NonNull:属性上面加了该注解后,则该属性会被包含在构造函数中
@getter @setter:用来生成get方法和set方法
可以加在类上,会生成所有属性的get方法和set方法,如果不希望生成某个属性的方法,可以在此属性上添加@getter @setter注解,并指定value属性的值,即可不生成,
也可以不在类上加,加在想生成get set方法的属性上
注意:自己写的优先级更高,不会被覆盖。
@toString:生成toString方法
设置of属性的值,可以控制哪些字段被添加到toString方法中
设置exclude属性的值,可以控制哪些字段不被添加到toString方法中,和of相反
设置callSuper属性可以控制是否调用父类的toString方法
@EqualsAndHashCode:用来生成equals方法和hashCode方法
设置of属性来指定用哪些属性来生成equals方法和hashCode方法,比如数据库中的数据,id肯定是不一样的,就可以用id来生成
设置exclude属性的值,可以控制哪些字段不被用来生曾equals方法和hashCode方法
@Data:相当于很多注解的集合,包含@setter @getter @toString @EqualsAndHashCode 使用所有的属性
@Accessors:是否启用链式编程,设置chain为true即可启用,将返回值改为类本身。
fluent属性:设置之后,之前的get set方法就不是get set开头了,而是直接以属性的方式。
@Builder:和@Accessors作用一样,启用链式编程,和@Accessors不同是使用构造者模式编程
@Log:针对java.util.logging包下的Logger
@Slf4j:专门针对项目里面使用的log4j的情况
Tags:lombok
很赞哦! ()