Lombok是一个通过注解以达到减少代码的Java库,如通过注解的方式减少get,set方法,构造方法等。
如何安装
- 如果不是maven项目,可以在项目的lib目录下添加该包
- 如果是maven项目,可以直接在pom.xml中添加依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.12</version>
</dependency>
如何使用
在实体类(pojo)头部中添加如下注解,可以减少大量的代码。
-
@Data
@Data该注解相当于同时加上以下注解@Setter @Getter,@ToString,@EqualsAndHashCode,作用于类中 使用: -
@Setter @Getter
可以在实体类中的属性中添加@Setter @Getter,即可以不用生成setter和getter方法 -
@NonNull
可以在实体类中的属性中,该注解快速判断是否为空,如果为空,则抛出java.lang.NullPointerException -
@Synchronized
该注解自动添加到同步机制,生成的代码并不是直接锁方法,而是锁代码块, 作用范围是方法上 -
@ToString
在类前面添加@ToString,就可不用写toString方法,实际上其实也很少使用到toString方法。 -
@EqualsAndHashCode
-
@Cleanup
注释可用于确保已分配的资源被释放,如IO的连接关闭。 -
@SneakyThrows
-
@slf4j
这个注解可以在控制台输出相关的日志信息 -
@NoConstructors
这是注解是无参构造器, -
@AllConstrustors
全参构造器
与其在项目中添加这种依赖,还不如使用好的开发工具自带的代码快捷键自动生成方法,虽然代码确实多,但是也不至于需要自己亲自写。感觉这个依赖有点鸡肋,可能是我不经常用到的原因吧!(孤陋寡闻.jpg)我在尚硅谷的好几种教程中都没有发现有教使用lombok。
更新~,我就知道会打脸,刚刚在尚硅谷的Springboot2教程中看到使用这个依赖,说明在实际开发中这个Lombok还是十分重要的。
4、开发小技巧
4.1、Lombok
简化JavaBean开发
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
idea中搜索安装lombok插件
===============================简化JavaBean开发===================================
@NoArgsConstructor
//@AllArgsConstructor
@Data
@ToString
@EqualsAndHashCode
public class User {
private String name;
private Integer age;
private Pet pet;
public User(String name,Integer age){
this.name = name;
this.age = age;
}
}
================================简化日志开发===================================
@Slf4j
@RestController
public class HelloController {
@RequestMapping("/hello")
public String handle01(@RequestParam("name") String name){
log.info("请求进来了....");
return "Hello, Spring Boot 2!"+"你好:"+name;
}
}