lombok详解

一:概述

lombok是一种java使用的开发工具,可以帮助我们快速开发java中pojo实体类,通过注解消除java的冗余的java代码。

官网:projectlombok.org

原理:通过JDK6提供的新特性,在javac编译期间处理注解,帮助我们快速开发!

 二:lombok安装

1.maven导入依赖

<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.30</version>
    <scope>provided</scope>
</dependency>

2.安装lombok插件

三:常用注解

1.@Getter ,@Setter,@toString

用于快速生成getter,setter和toSring方法

2.@EqualsAndHashCode

用于生成equals和hashcode方法

3.@data

这个注解可以代替上述的所有注解,因此在开发中很常用!

4.@NoArgsConstructor 和@AllArgsConstructor

用于生成无参构造和带参构造

5.@builder

构造器,可以帮助我们快速实现链式编程

这是@builder为在底层为为我们创建的静态内部类,并实现了一系列的方法来辅助我们,正式由于这样我们才能实现链式编程!


    public static class UserBuilder {
        private Integer id;
        private String name;
        private String password;

        UserBuilder() {
        }

        public UserBuilder id(Integer id) {
            this.id = id;
            return this;
        }

        public UserBuilder name(String name) {
            this.name = name;
            return this;
        }

        public UserBuilder password(String password) {
            this.password = password;
            return this;
        }

        public User build() {
            return new User(this.id, this.name, this.password);
        }

6.@log

这个注解帮助我们快速生成日志,这个注解相当于为为我们声明了一个log变量



以上就是lombok常用的注解;不常用的注解就不再一一展示;

相关推荐

  1. lombok

    2024-04-09 22:34:01       12 阅读
  2. Lombok详细使用说明及其注意事项和Lombok注解详解

    2024-04-09 22:34:01       32 阅读
  3. Lombok 记录各种用法

    2024-04-09 22:34:01       30 阅读
  4. Lombok-@Singular 和 @Builder 组合

    2024-04-09 22:34:01       18 阅读
  5. 消除代码冗长神器 - Lombok | 入门

    2024-04-09 22:34:01       34 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-09 22:34:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-09 22:34:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-09 22:34:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-09 22:34:01       18 阅读

热门阅读

  1. 程序员如何搞副业?

    2024-04-09 22:34:01       17 阅读
  2. Go语言支持重载吗?如何实现重写?

    2024-04-09 22:34:01       15 阅读
  3. @Transactional 详解

    2024-04-09 22:34:01       11 阅读
  4. 雷军给年轻人的五点建议

    2024-04-09 22:34:01       10 阅读
  5. playwright入门-相遇(基础篇)

    2024-04-09 22:34:01       13 阅读
  6. 热更新框架2-能够使用框架进行开发

    2024-04-09 22:34:01       12 阅读
  7. Redis是单线程,但为什么快

    2024-04-09 22:34:01       12 阅读