前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一文读懂lombok

一文读懂lombok

原创
作者头像
QGS
发布2023-12-31 23:32:47
1930
发布2023-12-31 23:32:47
举报
文章被收录于专栏:QGS星球

LomBok可以通过注解,帮助开发人员消除JAVA中尤其是POJO类中 的冗长代码。

环境介绍

技术栈

springboot+mybatis-plus+mysql

软件

版本

mysql

8

IDEA

IntelliJ IDEA 2022.2.1

JDK

1.8

Spring Boot

2.7.13

mybatis-plus

3.5.3.2

Lombok是一个开源的代码生成库,能以简单的注解形式来简化Java类中的大量样板代码,提高开发人员的开发效率。例如开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护,当属性多时会出现大量的getter/setter方法,这些显得很冗长也没有太多技术含量。

lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、hashcode、toString等方法,使代码看起来更简洁。

pom.xml手动加入依赖

SpringBoot项目Lombok的加入依赖

代码语言:javascript
复制
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>

普通maven项目Lombok加入依赖

代码语言:javascript
复制
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.28</version>
</dependency>

或创建项目时加入依赖

IDEA安装lombok插件

IDEA版本在2020.3以上,不需要安装Lombok插件。如果IDEA 版本在2020.3以下,需要安装Lombok插件

File-->Settings

设置页面中的Plugins-->输入lombok,可以查询-->Lombok Plugin,-->Lombok Plugin-->Install按钮

lombok常用注解说明 @Setter    注解在类或属性,注解在类时为所有属性生成setter方法,注解在属性上时只为该属性生成setter方法 @Getter    使用方法同@Setter,区别在于生成的是getter方法 @ToString    注解在类,添加toString方法 @EqualsAndHashCode    注解在类,生成hashCode和equals方法 @NoArgsConstructor    注解在类,生成无参的构造方法 @RequiredArgsConstructor    注解在类,为类中需要特殊处理的属性生成构造方法,比如final和被@NonNull注解的属性 @AllArgsConstructor    注解在类,生成包含类中所有属性的构造方法 @Data    注解在类,生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法 @Slf4j    注解在类,生成log变量,用于记录日志 @Builder    将类转变为建造者模式

案例

实体类

代码语言:javascript
复制
@Data
public class Host {

    //@Value("${host01.host}")
    private String host;

    //@Value("${host01.port}")
    private String port;

    //@Value("${host01.user}")
    private String user;

    //@Value("${host01.password}")
    private String password;

}

使用@Data的效果

使用@AllArgsConstructor@EqualsAndHashCode生成hashCode和equals方法和生成包含类中所有属性的构造方法,效果

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • pom.xml手动加入依赖
  • IDEA安装lombok插件
  • 案例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档