Lombok应用

Lombok插件能够为实体类自动生getter、setter、tostring方法,可提高开发效率。

  1. 下载
    older versions
  2. 安装

    运行lombok.jar
    java -jar .\lombok.jar

     命令执行完成后会弹出如下对话框,对话框中会把所有的eclipse路径都查询出来,如果没有找到,也可以通过 Specify location 按钮指定位置。

     点击 Install/Update 进行安装

    在pop.xml中添加依赖

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.22</version>
        <scope>provided</scope>
    </dependency>
    

    lombok使用(@Slf4j注解需要额外添加slf4j-api依赖)

  3. 应用

    @Data:自动生成所有属性的get/set方法,equals方法,hashCode方法,toString方法,如果相应的方法名已经存在则滤过该方法
    属性名    描述
    staticConstructor    静态构造方法名,无参构造函数变为私有,只能通过该静态方法创建对象

    @AllArgsConstructor:自动用所有的字段生成构造函数,final的字段是作为生成构造函数入参
    属性名    描述
    staticName    静态构造方法名,有参构造函数变为私有,只能通过该静态方法创建对象
    access    设置生成的构造函数的访问级别,默认public

    @Getter:作用在类上,则为所有字段生成get方法;作用在字段上则为该字段生成get方法。
    属性名    描述
    value    设置生成方法的访问级别,默认public
    access    设置生成的构造函数的访问级别,默认public
    lazy    是否懒加载,如果为true则要求字段必须是final的,会在调用get方法时才会设置该值,且该值的获取是线程安全的

    @Setter:作用在类上,则为所有字段生成set方法;作用在字段上则为该字段生成set方法。
    属性名    描述
    value    设置生成方法的访问级别,默认public

    @ToString注解:作用在类上自动生成toString方法,默认只打印非静态字段,默认会使用字段get方法
    属性名    描述
    includeFieldNames    是否包含字段名称,默认true
    of    打印那些字段,不能和@ToString.Include和@ToString.Exclude注解一起使用
    callSuper    是否调用父类的toString方法,默认false
    doNotUseGetters    是否不使用字段的get方法
    onlyExplicitlyIncluded    仅打印ToString.include注解标注的字段

    @ToString.Include:和@ToString注解配合使用,用于自定义打印内容,可以用在方法(方法的返回值将被打印)和字段上
    属性名    描述
    randk    排序值,优先打印值大的
    name    可以自定义被打印字段或方法的名称

    @ToString.Exclude:和@ToString注解配合使用,用在字段上,排除不需要打印的字段

    @EqualsAndHashCode:用在类上,生成equals和hashCode方法,默认会使用字段get方法

    属性名    描述
    exclude    排除哪些字段
    of    包含哪些字段
    callSuper    是否要调用父类的实现
    doNotUseGetters    是否不使用字段的get方法
    onlyExplicitlyIncluded    仅打印ToString.include注解标注的字段
    @EqualsAndHashCode.Include:和@ToString注解配合使用,用于自定义内容,可以用在方法(方法的返回值将被打印)和字段上

    @EqualsAndHashCode.Exclude:和@EqualsAndHashCode注解配合使用,用在字段上,排除不需要打印的字段

    @NonNull:用于字段,参数,变量等,在设置null值时,抛出空指针异常

    @NoArgsConstructor:生成无参构造函数

    属性名    描述
    staticName    静态构造方法名,无参构造函数变为私有,只能通过该静态方法创建对象
    access    设置生成的构造函数的访问级别,默认public
    force    为所有final字段赋初值,0,null,false
    @RequiredArgsConstructor:生成包含final和@NonNull注解的成员变量的构造器;
    属性名    描述
    staticName    静态构造方法名,无参构造函数变为私有,只能通过该静态方法创建对象
    access    设置生成的构造函数的访问级别,默认public

    @Builder:使用建造者模式,会创建一个LombokBeanBuilder静态内部类,会为LombokBean 添加 public static LombokBeanBuilder builder() 方法。
    属性名    描述
    builderMethodName    为类添加的返回建造者类的方法名,默认builder()
    buildMethodName    建造者类创建目标对象的方法名,默认build()
    builderClassName    建造者类的类名
    toBuilder    为类创建如下方法 LombokBeanBuilder toBuilder(),会使用当前对象的属性值,作为builder的初值,相当于克隆目标对象
    access    设置builder类的访问级别,默认public
    @SneakyThrows:可以自动处理编译时异常,避免写try catch

    @Cleanup:可以自动关闭资源,比如inputSteam

    @Slf4j:会创建private static final Logger log;并赋初值,其他的日志也有相应的注解如@Log4j

    @Singular:和@Builder注解配合使用,只能用在集合字段或参数上,在builder类中创建为集合创建add方法

    @Value:构建一个不可变对象,字段是final的

    @With:用在字段和类型上,会为字段生成如下方法,相当于克隆对象的的同时设置指定属性值

    参考文献:lombok 详细使用说明_WZTTMoon的博客-CSDN博客_lombok说明

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值