Java-Idea-Lombok插件的使用

1、为何要使用lombok?

工作中有许多重复的get和set方法,使用lombok可以消除java中 的get和set方法,利用注解自动生成

2、Lombok原理

利用JSR269规范将代码分为几个时期,分别处理,编译时候生效
在这里插入图片描述

3、Lombok安装

如何使用?
maven在pom中引入依赖
idea中安装lombok插件(不安装,idea就不知道,肯能回报错)

4、Lombok常用注解

在这里插入图片描述
使用@getter@setter注释

public class Student {
    @Getter(AccessLevel.PROTECTED)
    @Setter
    private Integer age;
    @Getter(AccessLevel.PROTECTED)
    @Setter
    private String name;
    @Getter(AccessLevel.PROTECTED)
    @Setter
    private Integer id;
}

或者直接在类前面使用

@Setter
@Getter
public class Student {
    private Integer age;
    private String name;
    private Integer id;
}

lombok会自动识别final和static变量,然后忽略它
如果某些变量不想被获取生成——可以在该变量上面加入注释@Getter(AccessLevel.NONE),就不会生成对应的方法

使用@ToString

在类名前面使用,自动生成所有变量的字符串

public String toString() {
        return "Student(age=" + this.getAge() + ", name=" + this.name + ", id=" + this.getId() + ")";
    }

如果不想输出某些字段,可以使用exclude属性筛选字段。@ToString(exclude = (“age”))
反之如果必须有某些字段,使用@ToString(of= (“age”))

使用@EqualsAndHashCode
生成了3个方法
在这里插入图片描述
使用@NonNull
在定义一个形参时候,不需要为空,自己写还需要写一串判断,使用@NonNull就可以直接让系统判断
public void test(@NonNull Integer age){
会自动生成
if (age == null) {
throw new NullPointerException(“age is marked non-null but is null”);
}
使用@NoArgsConstructor和@AllArgsConstructor
生成有参和无参的构造函数
@RequiredArgsConstructor
这个针对final之类的参数的构造函数
@Data注解——全能之神
集成了
@getter、@setter
@ToString
@EqualsAndHashCode
@RequiredArgsConstructor
注解
使用@Builder
会生成一个内部类,内部类里面讲每个参数变为一个方法,可以使用builder()调用
egg: Student student=builder().age(14).name(“jack”).build();
使用@log
egg:log.info(“age”);
六月 30, 2021 8:38:28 下午 com.demo.domain.Student test
信息: age
直接使用log就可以调用日志信息
使用val,注意不是注释,是数据类型
类似js的var,定义一个属相时候就不用说明类型
val map = new HashMap<String,String>();
等同
Map<String,String> map = new HashMap<String,String>();
使用@Cleanup
使用这个注释,就可以在使用字符流或者文件流使用,只管使用不用关闭,注释会自动生成
@Cleanup InputStream in = new FileInputStream(“abc”);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值