• 别再写getter,setter方法了,用Lombok来简化你的代码吧


    前言

    在实际开发中,有些代码是重复的、IDE一键生成的,不写不行,写了又觉得代码太臃肿,不美观。如果你也有这种体会,那么,请使用Lombok插件吧,真的非常好用。Lombok的使用也非常简单,都是各种各样的注解。

    引入依赖

    <dependency>
     <groupId>org.projectlombok</groupId>
     <artifactId>lombok</artifactId>
     <optional>true</optional>
    </dependency>
    

    IDEA安装Lombok插件

    单单引入Lombok的包还是不够的,ide会识别不到,会提示你getter,setter等方法没有定义。所以,需要先安装Lombok插件(eclipse,vs code等可以自行百度安装)

    别再写getter,setter方法了,用Lombok来简化你的代码吧

    点击 File -> setting -> plugins,搜索Lombok安装即可,安装完后重启IDEA。

    Lombok常用注解

    1.Data注解

    该注解作用在类上,默认为类生成get 、 set、equals、hashCode、toString 等方法。定义一个Happyjava类如下:

    @Data
    public class Happyjava {
    ​
     private String username;
    ​
     private String pwd;
    ​
    }
    

    使用了Data注解标识在类上,我们可以通过ide的自动补全功能查看Data注解为我们实现了哪些方法:

    别再写getter,setter方法了,用Lombok来简化你的代码吧

    可以看到,get 、 set、equals、hashCode、toString 这些pojo必备的方法都已经实现了。

    2.Setter注解

    有些类不需要getter方法,那么我们可以单独使用setter注解来标识。

    别再写getter,setter方法了,用Lombok来简化你的代码吧

    通过ide的自动补全功能,可以看到为我们实现了getter方法

    别再写getter,setter方法了,用Lombok来简化你的代码吧

    3.Getter注解

    有些类只提供getter返回,不允许外部设置属性值,这时候可以使用getter注解。

    @Getter
    public class Happyjava {
    ​
     private String username;
    ​
     private String pwd;
    ​
    }
    

    4.AllArgsConstructor注解

    该注解为我们提供了一个全参的构造器。

    别再写getter,setter方法了,用Lombok来简化你的代码吧

    通过反编译查看:

    别再写getter,setter方法了,用Lombok来简化你的代码吧

    为我们创建了全参的构造方法

    5.NoArgsConstructor注解

    如果我们使用了AllArgsConstructor注解,又想拥有一个无参构造方法,那就使用NoArgsConstructor注解吧。

    别再写getter,setter方法了,用Lombok来简化你的代码吧

    通过反编译查看

    别再写getter,setter方法了,用Lombok来简化你的代码吧

    6.EqualsAndHashCode注解

    为我们实现了equals、canEqual、hashCode 方法。

    7.Cleanup注解

    清理注解,该注解放在需要关闭的变量前面,比如InpuStream等。默认调用close() 方法,如果需要调用其它的关闭方法,需要手动声明:@Cleanup(“methodName”) 。还有一点需要注意的是,如果close方法抛出受检异常,在编译阶段会报错:

    别再写getter,setter方法了,用Lombok来简化你的代码吧

    我们可以手动把这个异常抛出

    别再写getter,setter方法了,用Lombok来简化你的代码吧

    通过反编译查看:

    别再写getter,setter方法了,用Lombok来简化你的代码吧

    这个注解我个人是不太喜欢用的,个人更推荐大家使用try-with-resources的方式来关闭资源吧。如下:

    别再写getter,setter方法了,用Lombok来简化你的代码吧

    8.Builder注解

    该注解是本人最喜欢的注解之一,采用Builder的模式构造实例,是我非常喜欢的实例化类的方法。

    别再写getter,setter方法了,用Lombok来简化你的代码吧

    通过反编译查看:

    别再写getter,setter方法了,用Lombok来简化你的代码吧

    然后我们就可以愉快的通过Builder来构造实例啦

    public static void main(String[] args) {
     Happyjava happyjava = Happyjava.builder()
     .username("happyjava")
     .pwd("123456")
     .build();
    }
    

    9.Slf4j注解

    这个注解是我使用的最多的注解,使用该注解,就不需要再手动的获取Slf4j实例啦,直接log调用即可。

    @Slf4j
    public class Main {
     public static void main(String[] args) {
     log.info("happyjava 好好学习");
     }
    }
    

    通过反编译查看:

    Slf4j注解注解,基本上是我开发过程中每个类都会使用的(除了pojo类啦)

    总结

    以上这些是本人在开发中比较常用到的注解,当然,Lombok的注解可不止这些,只是其他的我不常用罢了。比如Synchronized注解也是不错的,但是我就不太喜欢用。

  • 相关阅读:
    linux signal 处理
    AssetManager asset的使用
    分治法-汉诺塔问题
    WebSocket初探
    分治策略结合递归思想求最大子序列和
    数据库索引的作用和长处缺点
    Android Service 服务(一)—— Service
    YouTube为什么打不开?以及简便的訪问的方法/解决方式!
    winzip15.0注冊码
    CodeForces 398B 概率DP 记忆化搜索
  • 原文地址:https://www.cnblogs.com/happy4java/p/11205982.html
Copyright © 2020-2023  润新知