lombok插件

以前项目中写model时,都需要添加get、set、toString、hashCode方法,虽然idea有快捷键可以快速生成这些代码,但是代码会变得很冗长。通过使用lombok插件的注解可以消除冗余的代码。get、set、toString、hashCode这些方法可以通过@data注解表示。如果不想使用@data注解,对于get方法可以使用@Setter注解,对于set方法,可以使用@Getter注解,对于toString方法使用@ToString注解。具体更多注解:https://projectlombok.org/features/

这些注解必须通过和@build一起使用,@build注解的作用:可以自动生成所需要的代码,使我们写的类可以通过代码实例化

举个例子:
首先使用lomboc插件除了需要在idea中下载相应的插件,还需要添加相应的依赖:

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

lomboc即是插件又是jar包,编译加载相应时生成相应的方法

model:User.java

@Builder
@Data
public class User {
    private String userName;
    private String password;
}

直接@data简单粗暴

测试类:Test.java

public class Test {
    public static void main(String[] args) {
        User user = new User("a", "b");
        System.out.println(user);
        System.out.println("password: " + user.getPassword());
    }
}

运行结果:

User(userName=a, password=b)
name: b

已经被正确实例化了,并且从结果中看出,其对toString方法也进行了重写

但是目前为止,我并不是特别喜欢用这个插件,用起来很不舒服
看我idea中的测试类:


测试类截图

又是红色波浪线,又是红色标记,真是相当恶心,虽然不影响运行结果。


恶心至极

第二天发现是因为自己装了插件没有重启idea,导致插件没有使用上
而且这种创建对象的用法并不好。应该使用builder进行创建
 //1.调用builder方法生成一个builder对象
 //2.调用userName\password方法初始化值并返回一个builder对象
//3.调用build方法生成一个不可变的User对象
User u = User.builder().userName("dayday").password("123").build();

总结:lombok是一款可以精减java代码、提升开发人员生产效率的辅助工具,利用注解在编译期自动生成setter/getter/toString()/constructor之类的代码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容