lombok 是什么
Lombok项目是一个Java库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注释,用来消除Java类中的大量样板代码。仅五个字符(@Data)就可以替换数百行代码从而产生干净,简洁且易于维护的Java类。
idea安装lombok
Settings->Plugins安装Lombok插件,重启idea重启即可
使用lombok
引入依赖
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
<scope>provided</scope>
</dependency>
使用提供的注解
//@Data注解:自动提供GET、SET、ToString、hashCode、equals 等方法
@Data
public class User {
private int id;
private String name;
private Integer age;
private Date bir;
}
lombok 注解
1.@Data 注解
-
用在类上
-
用来生成对象中的GET、SET、ToString、hashCode、equals 等方法
-
具体用法
@Data public class User { private int id; private String name; private Integer age; private Date bir; }
2.@Getter and @Setter 注解
-
用在类上
-
用来生成对象中的GET、SET方法
-
具体用法
@Getter @Setter public class User { private int id; private String name; private Integer age; private Date bir; }
3.@ToString 注解
-
用在类上
-
用来生成对象中的toString方法
-
具体用法
@ToString public class User { private int id; private String name; private Integer age; private Date bir; }
4.@AllArgsConstructor and @NoArgsConstructor 注解
-
用在类上
-
用来生成对象中的全参构造和无参构造方法
-
具体用法
@AllArgsConstructor @NoArgsConstructor public class User { private int id; private String name; private Integer age; private Date bir; }
5.@Accessors
-
用在类上
-
用来给类中的set方法开启链式调用chain属性,用来指定是否开启链式调用
-
chain = true 开启,chain = false 关闭
-
具体用法
@Accessors(chain = true) @Data public class User { private int id; private String name; private Integer age; private Date bir; }
-
效果
public static void main(String[] args) { User user = new User(); user.setId(1).setName("jack").setAge(21).setBir(new Date()); System.out.println(user.toString()); }
6.@slf4j
-
用在类上
-
用来快速定义给类中定义一个日志变量
-
具体用法
@Controller @RequestMapping("user") @Slf4j public class UserController { @RequestMapping("findAll") public String findAll() { return "findAll start..."; } }