美文网首页Spring-boot
【Spring-boot】Lombok

【Spring-boot】Lombok

作者: 希崽家的小哲 | 来源:发表于2017-09-17 12:47 被阅读132次

    一、Lombok简介

    Lombok 是一种 Java实用工具,用来简化getter and setter 等等

    二、添加maven依赖

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.16.16</version>
    </dependency>
    

    三、注解使用

    @Data:注解在类上,将类提供的所有属性都添加get、set方法,并添加、equals、canEqual、hashCode、toString方法
    @Setter:注解在类上,为所有属性添加set方法、注解在属性上为该属性提供set方法
    @Getter:注解在类上,为所有的属性添加get方法、注解在属性上为该属性提供get方法
    @NotNull:在参数中使用时,如果调用时传了null值,就会抛出空指针异常
    @Synchronized 用于方法,可以锁定指定的对象,如果不指定,则默认创建一个对象锁定
    @Log作用于类,创建一个log属性
    @Builder:使用builder模式创建对象
    @NoArgsConstructor:创建一个无参构造函数
    @AllArgsConstructor:创建一个全参构造函数
    @ToStirng:创建一个toString方法
    @Accessors(chain = true)使用链式设置属性,set方法返回的是this对象。
    @RequiredArgsConstructor:创建对象
    @UtilityClass:工具类
    @ExtensionMethod:设置父类
    @FieldDefaults:设置属性的使用范围,如private、public等,也可以设置属性是否被final修饰。
    @Cleanup: 关闭流、连接点。
    @EqualsAndHashCode:重写equals和hashcode方法。
    @toString:创建toString方法。

    1. Accessors
    @Setter
    @Getter
    @Accessors(chain = true)
    public class User {
        private String id;
        private String name;
        private Integer age;
    }
    
    public static void main(String[] args) {
        //使用@Accessors(chain = true)
        User userChain = new User();
        userChain.setId("1").setName("chain").setAge(1);
    }
    
    1. Builder
    @Setter
    @Getter
    @Builder
    public class User {
        private String id;
        private String name;
        private Integer age;
    }
    
    public static void main(String[] args) {
        User user = User.builder().id("1").name("builder").age(1).build();
        System.out.println(user.getId());
    }
    

    四、Intellij 插件

    Settings->Plugins->搜索Lombok插->安装->restart


    具体参考:
    作者:黄步欢
    链接:http://www.jianshu.com/p/2ea9ff98f7d6

    相关文章

      网友评论

        本文标题:【Spring-boot】Lombok

        本文链接:https://www.haomeiwen.com/subject/byipsxtx.html