Lombok介绍

1.官网介绍

Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more.

中文意思:Project Lombok是一个java库,它可以自动插入到您的编辑器和构建工具中,为您的java注入新的活力。不要再编写其他getter或equals方法,有了一个注释,类就有了功能齐全的构建器、自动化日志变量等等。

2.使用(IDEA)

  1. IDEA安装Lombok插件
  2. 引入Maven依赖
	<dependencies>
        <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.10</version>
        </dependency>
    </dependencies>
  1. 在代码中增加注解

@Data

@Data注解在类上,会为类的所有属性自动生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。

package com.liu.pojo;
import lombok.Data;
import java.util.Date;

/**
 * @author liucong
 * @date 2020/10/4 - 15:15
 */
@Data
public class Blog {
    private String id;
    private String title;
    private String author;
    private Date createTime;
    private int views;
}

@Getter/@Setter

此注解在属性上,可以为相应的属性自动生成Getter/Setter方法。

package com.liu.pojo;
import lombok.Getter;
import lombok.Setter;

/**
 * @author liucong
 * @date 2020/10/4 - 9:25
 */

public class Student {
    @Setter@Getter
    private int id;
    private String name;
    private int tid;
}

@ToString

类使用@ToString注解,Lombok会生成一个toString()方法,默认情况下,会输出类名、所有属性(会按照属性定义顺序),用逗号来分割。

例如:Student(id=1, name=lisi, tid=1)

@NoArgsConstructor , @AllArgsConstructor

无参构造器、全参构造器。

package com.liu.pojo;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;

/**
 * @author liucong
 * @date 2020/10/4 - 9:25
 */
@NoArgsConstructor
@AllArgsConstructor
public class Student {
    private int id;
    private String name;
    private int tid;
}


3.Lombok的优缺点

优点:

  • 能通过注解的形式自动生成构造器、getter/setter、equals、hashcode、toString等方法,提高了一定的开发效率
  • 让代码变得简洁,不用过多的去关注相应的方法
  • 属性做修改时,也简化了维护为这些属性所生成的getter/setter方法等

缺点:

  • 不支持多种参数构造器的重载
  • 虽然省去了手动创建getter/setter方法的麻烦,但大大降低了源代码的可读性和完整性,降低了阅读源代码的舒适度
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Lombok是一个Java库,它通过注解自动生成Java类的常用代码,如getter、setter、equals、hashCode和toString等。Lombok的目标是通过减少样板代码的编写,使Java代码更加简洁,易于维护和阅读。 Lombok有许多注解,每个注解都会自动生成一些常用代码。其中最常用的注解包括: 1. @Getter和@Setter:自动生成getter和setter方法。可以通过参数指定访问级别、是否懒加载等属性。 2. @ToString:自动生成toString方法。可以通过参数指定是否包含父类属性、是否包含静态属性等属性。 3. @EqualsAndHashCode:自动生成equals和hashCode方法。可以通过参数指定是否包含父类属性、是否忽略某些属性等属性。 4. @NoArgsConstructor和@AllArgsConstructor:自动生成无参和全参构造函数。 5. @Data:同时生成getter、setter、toString、equals和hashCode等常用方法。 6. @Builder:生成Builder模式代码,可以通过链式调用设置属性。 除了常用的注解外,Lombok还有许多其他注解,如@NonNull、@Cleanup、@Synchronized等,可以帮助开发者更快速地编写Java代码。 使用Lombok可以极大地简化Java代码的编写和维护,但也存在一些问题。由于Lombok使用了Java编译器的插件机制,因此在使用Lombok时需要安装相应的插件,并且可能会对代码的可读性和理解性产生一定影响。此外,Lombok生成的代码可能会影响代码的性能,尤其是在大规模使用时。 总之,Lombok是一个非常有用的Java库,可以大大提高Java代码的编写效率和可读性。但在使用时需要权衡利弊,选择合适的使用场景和注解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值