lombok概述

  • lombok简介

    Lombok想要解决了的是在我们实体Bean中大量的Getter/Setter方法,以及toString, hashCode等可能不会用到,但是某些时候仍然需要复写,以期方便使用的方法;在使用Lombok之后,将由其来自动帮你实现代码生成,注意,其是 在运行过程中,帮你自动生成的 。就是说,将极大减少你的代码总量。
  • lombok作用

    消除模板代码

    getter、setter、构造器、toString()、equals()

    便捷的生成比较复杂的代码,例如一个POJO要转化成构建器模式的形式,只需要一个注解。

    SpringBoot中使用lombok

  1. 添加依赖

    <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --> 
    <dependency> 
      <groupId>org.projectlombok</groupId> 
      <artifactId>lombok</artifactId> 
      <version>1.16.10</version> 
    </dependency>
  2. 编写一个实体类 User,[email protected]
    @Data public class User { private String name; private int age; }
  3. 编写测试方法,[email protected]

    @Test 
    public void testUser(){   
      User user = new User();   
      user.setName("AnyCode");   
      user.setAge(20);   
      System.err.println(user.toString()); 
    }

    输入图片说明

    lombok的注解介绍

    @NonNull : 让你不在担忧并且爱上NullPointerException

    @CleanUp : 自动资源管理:不用再在finally中添加资源的close方法

    @[email protected] : 自动生成set和get方法

    @ToString : 自动生成toString方法

    @EqualsAndHashcode : 从对象的字段中生成hashCode和equals的实现

    @[email protected][email protected]
    自动生成构造方法

    @Data : 自动生成set/get方法,toString方法,equals方法,hashCode方法,不带参数的构造方法

    @Value : 用于注解final类

    @Builder : 产生复杂的构建器api类

    @SneakyThrows : 异常处理(谨慎使用)

    @Synchronized : 同步方法安全的转化

    @Getter(lazy=true) :

    @Log : 支持各种logger对象,使用时用对应的注解,如:@Log4j

    推荐使用技巧

import lombok.*;

/**

测试类:
package com.jxlg.lance.springbootcorestudy.lombok;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;

import static org.junit.Assert.*;

@RunWith(JUnit4.class)
public class StudentTest {

@Test 
public void test(){ 
    Student student = Student.builder() 
            .stuName("张三") 
            .stuAge(12) 
            .stuClass("高三") 
            .stuNumber(12222) 
            .build(); 
    System.out.println(student); 
}

}

结果:
Student(stuName=张三, stuAge=12, stuClass=高三, stuNumber=12222)

-  [email protected]** :简单的来说所有所有的注解我们都可以使用一个注[email protected]<br> 
我们在定义类的时候 只需要加一个 @Data 注解,其他的注解我们都不需要在添加就可以达到前面所说的所有功能。 
- 通过上面介绍的,我们平常使用Lombok只需要这样就是就可以了,如下:

@Data
@Builder
public class User {
private String name;
private Integer age;
}
```

发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

MySQL(一)之MySQL简介与安装详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。