IDEA提高开发效率之lombok


  咱们在开发过程当中,常常会有一些常规性的,重复性的工做。好比:java

  1. 根据成员变量生成get和set方法
  2. 根据成员变量生成类的构造函数
  3. 重写toString()和hashCode方法
  4. 引入日志框架logFactory,用来打印日志

  咱们能够使用lombok插件来解决这个问题。使咱们的编码效率获得大幅度的提升!框架


1、安装lombok插件

   在IDEA 的 File->Settings 面板,并选择 Plugins 选项,而后点击 “Browse repositories”。在搜索框输入”lombok”,结果中找到lombok点击install重启IDEA便可。函数


2、加入依赖(是注解生效)

<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
</dependency>

3、使用lombok注解

3.1 @Data

  • 编译自动生成:
  1. 成员变量的get和set方法
  2. equals方法
  3. canEqual方法
  4. hashCode方法
  5. toString方法

  • Student.java
package com.xkt.pojo;

import lombok.Data;

/**
 * Created by lzx on 2019/10/9.
 */
@Data
public class Student {

    private int age;

    private String name;

}
调用对象时

3.2 @Slf4j

  • 在编译期自动帮引入Logger日志常量,在代码中就直接使用log.info或log.debug打印日志便可。
直接使用日志

3.3 @Builder

  • Java类上使用Builder注解以后,咱们能够使用以下代码为对象属性赋值

  • Student.java
package com.xkt.pojo;

import lombok.Builder;
import lombok.Data;
/**
 * Created by lzx on 2019/10/9.
 */
@Data
@Builder
public class Student {

    private int age;

    private String name;

}
  • 测试类
package com.xkt.service;

import com.xkt.pojo.Student;

/**
 * Created by lzx on 2019/10/9.
 */
public class StudentService {

    public static void main(String[] args) {

        Student student = Student.builder().name("张三").age(18).build();

        System.out.println(student);

    }
}
测试结果

3.4 @AllArgsConstructor @NoArgsConstructor

  • 将为在编译期自动生成:全参构造函数
  • 将为在编译期自动生成:无参构造函数

  • Student.java
package com.xkt.pojo;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * Created by lzx on 2019/10/9.
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Student {

    private int age;

    private String name;

}
  • 测试类
package com.xkt.service;

import com.xkt.pojo.Student;

/**
 * Created by lzx on 2019/10/9.
 */
public class StudentService {

    public static void main(String[] args) {

        Student student = new Student();

        Student student1 = new Student(18, "张三");

    }
}
相关文章
相关标签/搜索