为什么使用Lombok
Lombok可以有效减少代码,让代码变得简洁。其提供了各种注解,例如@Data,@Setter ,@Getter,@NonNull,@Synchronized,@ToString,@EqualsAndHashCode,@Cleanup,@SneakyThrows,@NoArgsConstructor, @RequiredArgsConstructor ,@AllArgsConstructor等。更多详情查看官网
Lombok的优点:
- 能通过@Data等注解的形式自动生成构造器、getter/setter、equals、hashcode、toString等方法,提高了一定的开发效率
- 让代码变得简洁,不用过多的去关注相应的方法
- 属性做修改时,也简化了维护为这些属性所生成的getter/setter方法等
- 是一个插件,引用方便
Lombok的缺点:
- 不支持多种参数构造器的重载
- 虽然省去了手动创建getter/setter方法的麻烦,但大大降低了源代码的可读性和完整性,降低了阅读源代码的舒适度
没有之前怎么做
在没有使用Lombok之前,创建对象时需要重复调编写getter,setter等方法,这些方法重复单一,且维护时比较麻烦
使用步骤
-
第一步——IDE添加插件
添加插件 - 第二步——添加依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
</dependency>
- 第三步——对象创建
@Setter
@Getter
@ToString
@EqualsAndHashCode
public class Student {
private String name;
private int age;
private String male;
private String studentNO;
}
- 第四步——使用方法
@Log
public class LombookTest {
public static void main(String[] args) {
//创建第一个学生对象
Student student = new Student();
student.setAge(19);
student.setName("Spring Boot");
student.setMale("male");
student.setStudentNO("2017");
System.out.println(student.toString());
//第二个学生对象
Student student1 = new Student();
student1.setAge(19);
student1.setMale("male");
student1.setName("Spring Boot");
student1.setStudentNO("2017");
//比较两次对象
System.out.println(student.equals(student1));
student1.setStudentNO("2018");
System.out.println(student.equals(student1));
log.info("lombok test");
}
}
网友评论