我们以往在书写JavaBean的时候,有几个麻烦的地方:我们需要写上JavaBean的get、set方法、有参、无参构造,同时还要重写toString、equals和hashCode等方法,非常繁琐。
这里,我们介绍LomBok插件,可以帮助我们加快JavaBean 的开发进度。
1 依赖的引入
SpringBoot的父级依赖中已经默认为我们配置好了LomBok,因此我们直接在Pom中添加下述依赖即可:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
2 IDEA插件的安装
我们要在 File -> Settings… -> Plugins -> Marketplace选项 -> 搜索 LomBok
进行安装,安装成功后需要重启IDEA:
3 LomBok的使用
现在,我们可以正常使用LomBok简化开发了,从此以后,我们开发JavaBean只需要写上类名和其基本的属性即可,其他的东西都不用我们自己写,LomBok为我们提供了如下几个注解:
@Data
:可以在编译时为当前JavaBean生成get、set方法
@ToString
:可以在编译时为当前JavaBean生成toString方法
@NoArgsConstructor
:可以在编译时为当前JavaBean生成无参构造
@AllArgsConstructor
:可以在编译时为当前JavaBean生成全参构造
@EqualsAndHashCode
:可以在编译时为当前JavaBean生成equals和hashCode方法
因此,我们以后的JavaBean可以直接写成这样:
@Data
@ToString
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode
public class User {
private String name;
private Integer age;
}
当然,如果有个别属性不想放在全参构造器中,我们可以自己在JavaBean中定义特定有参构造:
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@EqualsAndHashCode
public class User {
private String name;
private Integer age;
Pet pet;
public User(String name, Integer age) {
this.name = name;
this.age = age;
}
}
此外,LomBok还提供了一个@Slf4j
注解,可以帮我们在类中自动注入一个日志类属性log
,我们就无需在通过System.out.println(xxx)
的形式在控制台进行打印:
@Slf4j
@RestController
public class HelloController {
@RequestMapping("/hello")
public String handler01() {
log.info("请求进来了...");
return "Hello, Spring Boot 2!";
}
}