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

lombok使用(Lombok介绍和配置)

时间2025-08-05 17:27:43分类IT科技浏览4313
导读:什么是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
手机做前端(【andriod】设备APP开发之前端实战操作代码)