首页IT科技lombok使用(Lombok介绍和配置)

lombok使用(Lombok介绍和配置)

时间2025-05-05 05:38:24分类IT科技浏览3421
导读:什么是Lombok Lombok是一个Java库,能自动插入编辑器并构建工具,简化Java开发。...

什么是Lombok

Lombok是一个Java库          ,能自动插入编辑器并构建工具               ,简化Java开发          。

官网: https://www.projectlombok.org/

Lombok的作用

通过 添加注解 的方式     ,Lombok能以简单的注解形式来简化java代码          ,提高开发人员的开发效率               。

例如开发中经常需要写的javabean               ,都需要花时间去添加相应的getter/setter     ,也许还要去写构造器          、equals等方法     ,而且需要维护               ,当属性多时会出现大量的getter/setter方法          ,这些显得很冗长也没有太多技术含量     ,一旦修改属性               ,就容易出现忘记修改对应方法的失误,使代码看起来更简洁些     。

Lombok的配置

使用Lombok 有两个工作要做:

安装idea的插件

在项目里面添加 lombok的依赖          。

添加maven依赖

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

安装插件

使用Lombok还需要插件的配合          ,使用开发工具为idea. 打开idea的设置,点击Plugins               ,点击Browse repositories               ,在弹出的窗口中搜索lombok,然后安装即可

解决编译时出错问题

编译时出错          ,可能是没有enable注解处理器               。Annotation Processors > Enable annotation processing     。设置完成之后程序正常运行     。

总结

Lombok: 就是一个工具, 简化java代码开发

Lombok环境

添加坐标

添加插件

Lombok的常用注解

@Data @Getter/@Setter @ToString @NoArgsConstructor               、@AllArgsConstructor

@Data:@Data注解在类上               ,会为类的所有属性自动生成setter/getter     、equals     、canEqual               、hashCode          、toString方法     ,如为final属性          ,则不会为该属性生成setter方法               。

@Data public class User implements Serializable{ private Integer id; private String username; private String password; private String address; private String nickname; private String gender; private String email; private String status; }

@Getter/@Setter:如果觉得@Data太过残暴不够精细               ,可以使用@Getter/@Setter注解     ,此注解在属性上     ,可以为相应的属性自动生成Getter/Setter方法.

public class User implements Serializable{ @Setter @Getter private Integer id; private String username; private String password; private String address; private String nickname; private String gender; private String email; private String status; }

@ToString:类使用@ToString注解               ,Lombok会生成一个toString()方法          ,默认情况下     ,会输出类名     、所有属性(会按照属性定义顺序)               ,用逗号来分割          。 通过exclude属性指定忽略字段不输出,

@ToString(exclude = {"id"}) public class User implements Serializable{ private Integer id; private String username; private String password; private String address; private String nickname; private String gender; private String email; private String status; }

@xxxConstructor

@NoArgsConstructor: 无参构造器

@NoArgsConstructor public class User implements Serializable{ private Integer id; private String username; private String password; private String address; private String nickname; private String gender; private String email; private String status; }

@AllArgsConstructor: 全参构造器

@AllArgsConstructor public class User implements Serializable{ private Integer id; private String username; private String password; private String address; private String nickname; private String gender; private String email; private String status; }

**总结**

@Data:用在类上面的 , 生成set,get, toString, hashCode,canEqual               、equals方法

@Getter:用在字段, 生成get方法

@Setter:用在字段, 生成set方法

@ToString:用在类上面的 生成toString方法

@xxxConstructor:用在类上面的 生成构造方法 (只能生成无参和全参的构造方法)

优点:

能通过注解的形式自动生成构造器          、getter/setter、equals               、hashcode               、toString等方法          ,提高了一定的开发效率

让代码变得简洁,不用过多的去关注相应的方法

属性做修改时               ,也简化了维护为这些属性所生成的getter/setter方法等

缺点:

不支持多种参数构造器的重载 , 要不就是无参               ,要不就是全参 , 如果希望做成只有一个参数、或者几个参数的构造函数          ,需要自己手动添加     。

虽然省去了手动创建getter/setter方法的麻烦               ,但大大降低了源代码的可读性和完整性     ,降低了阅读代码的舒适度

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
jsp登录界面验证码(JSP页面实现验证码校验) 2月19号廉江市(廉江2021年4月28日)