首页 > 其他分享 >Lombok插件

Lombok插件

时间:2024-05-11 13:08:41浏览次数:20  
标签:username 插件 age public 注解 Lombok 生成 id

  1. 什么是Lombok插件?

    Lombok是一个Java库,能自动插入编辑器并构建工具,简化Java开发。通过添加注解的方式,不需要为类编写getter或eques方法,同时可以自动化日志变量。

  2. 使用

  • 安装插件

    打开idea的设置,点击Plugins,点击Browse repositories,在弹出的窗口中搜索lombok,然后安装即可。

  • 添加依赖

      <dependency>
      	<groupId>org.projectlombok</groupId>
      	<artifactId>lombok</artifactId>
      	<version>xxx</version>
      </dependency>
    
  1. 测试

    //不使用Lombok,自己编写set,get,toString,有参,无参构造方法
    public class User{
    
        private int id;
    
        private String username;
    
        private int age;
    
        public User() {
        }
    
        public int getId() {
            return id;
        }
    
        public void setId(Integer id) {
            this.id = id;
        }
    
        public String getUsername() {
            return username;
        }
    
        public void setUsername(String username) {
            this.username = username;
        }
    
        public Integer getAge() {
            return age;
        }
    
        public void setAge(Integer age) {
            this.age = age;
        }
    
        @Override
        public String toString() {
            return "User{" +
                    "id=" + id +
                    ", username='" + username + '\'' +
                    ", age=" + age +
                    '}';
        }
    }
    //使用lombok之后,加了@Date注解之后,自动生成set,geu,tostring,equals,hashcode等方法
    @Data
    public class User{
    
        private int id;
    
        private String username;
    
        private int age;
    
    }
    
    
  2. 常用注解

    @Setter 注解在类或字段,注解在类时为所有字段生成setter方法,注解在字段上时只为该字段生成setter方法。
    @Getter 使用方法同上,区别在于生成的是getter方法。
    @ToString 注解在类,添加toString方法。
    @EqualsAndHashCode 注解在类,生成hashCode和equals方法。
    @NoArgsConstructor 注解在类,生成无参的构造方法。
    @RequiredArgsConstructor 注解在类,为类中需要特殊处理的字段生成构造方法,比如final和被@NonNull注解的字段。
    @AllArgsConstructor 注解在类,生成包含类中所有字段的构造方法。
    @Data 注解在类,生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。
    @Slf4j 注解在类,生成log变量,严格意义来说是常量。private static final Logger log = LoggerFactory.getLogger(UserController.class);

  3. 优缺点

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

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

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

    • 不支持多种参数构造器的重载(可以自己编写)

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

标签:username,插件,age,public,注解,Lombok,生成,id
From: https://www.cnblogs.com/hytip/p/18186291

相关文章

  • 【IDEA神器插件推荐】国产崛起!地表最强API测试插件
    1.前言在开发SpringBoot网站应用的过程中,前端后端会对接口进行请求测试。相信很多小伙伴都用过Postman,但是在IDE和Postman切换难免令人心烦。所以今天给大家带来一款IDEA内置的接口测试插件。2.简介根据插件的简介:RestfulFastRequest是一个类似于Postman的IntelliJIDEA......
  • 使用Alibaba代码规约插件优化代码
    一、实验题目:代码审查二、实验目的 1、熟悉编码风格,利用开发环境所提供的平台工具对代码进行自动格式审查;2、根据代码规范制定代码走查表,并按所制定的审查规范互审代码。三、实验内容1、IDEA环境和PyCharm环境二选一;IDEA环境(1)预先准备在IDEA环境下实现对输入的n个整数进......
  • apisix~jwt-auth插件
    在网关开启jwt-auth插件之后,你的网关就具有了jwt解析和校验的功能,主要是校验jwttoken的有效性,包含过期时间和签名等。https://apisix.apache.org/docs/apisix/plugins/jwt-auth/支持的签名算法"HS256""HS512""RS256""ES256"如果使用非对称算法rs256和es256时,需要配置公......
  • 2022年windows的Visual Studio常用插件及使用手册
    前景提要ViusualStudio是一款很好用的C/C++集成开发工具,具有强大的扩展功能,好用的插件,但是,很多人都是只写了有什么插件,但是,没写怎么使用这种插件,使得使用的时候很是不方便,所以,笔者最近本着自己的学习,在这里写下自己关于好用的插件的研究,希望对您的学习/工作有帮助.......
  • PyCharm编辑器结合Black插件,轻松实现Python代码格式化
    1、简介使用Black对Python代码进行格式化,可使代码看起来更美观。但是,随着项目规模不断变大,对每个文件运行Black变得很繁琐。能否在文件保存后立即运行Black呢?本文就来介绍在PyCharm中实现这一目标的方法。2、安装Black首先,在虚拟环境中安装Black。$pipinstallblack ......
  • 关于浏览器插件的初步认识
    1.浏览器插件是什么,如何安装?它是浏览器允许添加额外功能或修改其行为的软件组件。这些拓展通常由第三方开发者创建,并通过浏览器的拓展系统进行安装和管理。不同浏览器有不同的拓展系统,例如:Chrome拓展:Chrome使用ChromeWebStore来分发和管理拓展。用户可以通过访问Chro......
  • [转]vscode必备插件,美化、炫酷、实用-留着防丢
    vscode必备插件,美化、炫酷、实用-留着防丢-知乎(zhihu.com)https://zhuanlan.zhihu.com/p/112016680本篇文章只推荐看起来不错的插件,并不详细介绍插件的使用方法,插件的具体使用方法可以单独对其进行百度搜索。当然,有啥问题也可以在下面评论,但我觉得可以百度的地方,尽量还是手......
  • vscode快速生成文件/方法的插件
    需求背景编写完成一个代码源文件,他人想查看这个文件是谁编写的?、什么时候创建的?、最后一个编辑时间?等。如果文件所有者不写的话,你无法知道这些信息。我想在文件快速添加自定义头部信息以及函数注释信息,提供给自己和他人查询方便。当然我们可以一个一个字符敲上去,但是这种效率不......
  • 免费的visual studio智能代码插件——CodeGeeX
    CodeGeeX是什么?什么是CodeGeeX?CodeGeeX是一款基于大模型的智能编程助手,它可以实现代码的生成与补全,自动为代码添加注释,不同编程语言的代码间实现互译,针对技术和代码问题的智能问答,当然还包括代码解释,生成单元测试,实现代码审查,修复代码bug等非常丰富的功能。CodeGeeX是一款基于......
  • jmeter插件管理器安装-Plugins Manager
    有些函数是jmeter自带函数,有些函数是自定义的需要通过插件安装的,例如jmeter没有自带base64加密函数,若要使用该函数,可以通过插件安装自定义函数1.下载jmeter插件管理器:https://jmeter-plugins.org/wiki/PluginsManager/ 2.重启在jmeter,在“选项”下显示插件管理器"Plugins......