接触Lombok
@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsContructor。是Lombok插件三种生成不同构造方法的注解,来完成项目中不同构造方法的需求。
@NoArgsConstructor : 生成一个无参数的构造方法
@AllArgsContructor: ?会生成一个包含所有变量
@RequiredArgsConstructor: 会生成一个包含常量,和标识了NotNull的变量的构造方法。生成的构造方法是私有的private。
主要使用前两个注解,这样就不需要自己写构造方法,代码简洁规范。
看Lombok注解的全貌
Lombok是一个通过注解形式帮助构造简洁、规范的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法。
下载地址:
github地址:https://github.com/rzwitserloot/lombok
官方地址:https://projectlombok.org/。
官方API : https://projectlombok.org/features/all
在IDEA中使用它的过程
安装
Maven项目引入lombok的jar
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.14</version>
</dependency>
常用注解介绍
@Getter and @Setter
可以用@Getter / @Setter注释字段(也可以注释到类上的—(在实体类中常用且推荐)),lombok会自动生成默认的Getter/Setter方法。
@ToString
自动生成toString()方法,默认情况,按顺序(以“,”分隔)打印你的类名称以及每个字段。也可以设置不包含哪些字段/@ToString(exclude = {“id”,”name”})
import lombok.ToString;
@ToString(exclude = {"id","name"})
public class User {
private Integer id;
private String name;
private String phone;
}
实际生成的toString()方法
public String toString(){
return "User(phone=" + phone + ")";
}
@Synchronized
给方法加上同步锁,建议直接写在代码中Synchronized