资讯专栏INFORMATION COLUMN

使用 lombok 简化 Java 代码

CloudwiseAPM / 2936人阅读

摘要:使用可以大大减少代码行数,提高开发效率。提供了日志工具无参构造器提供方法提供方法方法有参构造器,参数按属性定义顺序传入提供了空指针检测,会抛出异常

lombok 是一个第三方工具,提供了一些注解功能,可以帮助我们消除冗余、臃肿的 Java 代码,比如 POJO 的 getter/setter 方法、构造方法、hashcode 方法等。lombok 在编译时根据注解生成具体的代码,在虚拟机中运行时与直接定义的属性和方法并没有什么不同。使用 lombok 可以大大减少 Java 代码行数,提高开发效率。

安装

需要在 IDE 中安装 lombok 插件,才能在 IDE 中正常使用 lombok 生成的方法。以 Idea 为例,在 Settings -> Plugins 中搜索 lombok,即可安装插件,然后重启 Idea 使插件生效。

在项目的 pom.xml 文件中,需要引入 lombok 插件和 maven 依赖。


    org.projectlombok
    lombok-maven-plugin
    1.16.8.0
    
        
            generate-sources
            
                delombok
            
        
    


    org.projectlombok
    lombok
    1.14.4

常用注解

lombok 提供了很多注解,常用的如下。
@Getter:注解在属性上,提供 getter 方法;
@Setter:注解在属性上,提供 setter 方法;
@AllArgsConstructor:注解在类上,提供构造方法,参数为所有属性;
@NoArgsConstructor:注解在类上,提供无参构造方法;
@Data:注解在类上,提供所有属性的 getter 方法、setter 方法以及 equals、hashCode、toString 等方法;
@Log:注解在类上,提供一个名为 log 的属性,类型为 java.util.logging.Logger,也可使用 @Log4j、@Log4j2、@Slf4j 等其他注解;
@ToString:注解在类上,提供 toString 方法;
@EqualsAndHashCode:注解在类上,提供 equals、hashCode 方法;
@Synchronized:注解在方法上,提供 synchronized,可以指定锁的名称;
@NonNull:注解在方法参数上,提供对参数的校验,防止空指针异常;
@Cleanup:注解在局部变量上,提供对资源的关闭,即调用 close 方法;

使用示例

在下面的示例中,我们使用注解生成了无参构造器、有参构造器、 getter/setter 方法、hashcode 方法、equals 方法、toString 方法,生成了一个 slf4j 的日志工具 log,在 test 方法中生成了对于参数 msg 的空指针校验。有了 lombok,Java 代码变得非常简洁。

@Data
@Slf4j
@AllArgsConstructor
@NoArgsConstructor
public class LombokTest {
    @Getter
    @Setter
    private String name;
    private int age;

    public void test(@NonNull String msg){
        log.info(msg);//lombok 提供了 slf4J 日志工具
    }

    public static void main(String[] args){
        LombokTest test = new LombokTest();//无参构造器
        test.setAge(17);//@Data 提供set方法
        test.setName("Lucy");//@Setter 提供set方法
        System.out.println(test.getName());//get方法

        //有参构造器,参数按属性定义顺序传入
        LombokTest lombokTest = new LombokTest("hanmeimei",15);
        //lombok 提供了空指针检测,会抛出异常
        lombokTest.test(null);
    }
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/70431.html

相关文章

  • 途牛原创|使用 lombok 简化 Java 代码

    摘要:使用,简化代码为了简化与,提供了一种机制,帮助我们自动生成这些样板代码。但是,在实际项目中,完全没有使用到。源码审查是一个源码审查工具。最新版已经支持的全部注解,不再认为是没有使用的变量。 一个典型的 Java 类 public class A { private int a; private String b; public int getA() { ret...

    RyanHoo 评论0 收藏0
  • 使用lombok简化你的Java Bean

    摘要:可标注在类内部生成一个名为类名的内部类,用于快速构建。流程是这样的编译源代码,并生成语法树寻找实现了的代码,并调用。寻找被标注了注解的类,修改生成的语法树。将语法树生成为字节码就到这里了它还具备很多好用的功能,你可以去这里看看。 能做什么? 在使用lombok之前: public class Book { private Integer id; private St...

    taowen 评论0 收藏0
  • Lombok介绍、使用方法和总结

    摘要:使用方法能以简单的注解形式来简化代码,提高开发人员的开发效率。能通过注解的方式,在编译时自动为属性生成构造器方法。出现的神奇就是在源码中没有和方法,但是在编译生成的字节码文件中有和方法。没法实现多种参数构造器的重载。 1 Lombok背景介绍 官方介绍如下: Project Lombok makes java a spicier language by addi...

    30e8336b8229 评论0 收藏0
  • 使用神器Lombok优雅编码

    摘要:提高编码效率使代码更简洁消除冗长代码避免修改字段名字时忘记修改方法名提高下逼格以上就是的优点,当然,的优点远远不止以上几点,使用,你可以更加优雅高效的编辑代码。实战完成了上述准备之后,就可以愉快的使用进行编码了。接下来是使用简化后的代码。 Lombok介绍 近来偶遇一款撸码神器,介绍给大家~相信许多小伙伴都深有体会,POJO类中的千篇一律的getter/setter,construct...

    _ang 评论0 收藏0
  • 使用Lombok来精简你的项目代码

    摘要:什么是一言以蔽之是一种工具,提供了简单的注解来简化我们的重复冗长代码。但在实际的项目中,我们常常只在定义的时候用上,而在业务代码中很少用到。总结是个非常有用的工具,能够帮助我们精简很多臃肿冗长的代码,不过也有其局限性,推荐在定义中使用。 什么是Lombok 一言以蔽之:lombok是一种工具,提供了简单的注解来简化我们的重复冗长Java代码。比如一个Java Bean,注解了lombo...

    AJie 评论0 收藏0

发表评论

0条评论

CloudwiseAPM

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<