Lombok简化开发
# 120.Lombok简化开发
使用Lombok,可以简化JavaBean开发。
# 前言
我们写JavaBean的时候,经常要写setter和getter方法,有参和无参构造方法,toString方法;
使用Lombok,可以在类上加几个简单的注解,就不用写这些东西了。
# 引入依赖
修改pom.xml,添加如下内容:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
1
2
3
4
2
3
4
SpringBoot已经配置了版本号,我们只需引入即可。
然后,我们在IDE中搜索安装Lombok插件。
# 使用Lombok的注解
常见注解:
- @Data:自动生成setter和getter
- @ToString:自动生成toString方法
- @NoArgsConstructor:自动生成无参构造方法
- @AllArgsConstructor:自动生成有参构造方法(方法里传入全部参数)
- @EqualsAndHashCode:自动生成equals和hashcode方法
- @Slf4j:引入日志对象
改造后的JavaBean代码:
package com.peterjxl.boot.bean;
import lombok.*;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class Pet {
private String name;
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
package com.peterjxl.boot.bean;
import lombok.*;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "mycar")
@Data
@ToString
public class Car {
private String brand;
private Integer price;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
package com.peterjxl.boot.bean;
import lombok.*;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class User {
private String name;
private Integer age;
private Pet pet;
}
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
使用@Slf4j
后,默认类上有一个log对象,可以通过它来打印日志:
package com.peterjxl.boot.controller;
import com.peterjxl.boot.bean.Car;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController // @RestController = @Controller + @ResponseBody
@Slf4j
public class HelloController {
@Autowired
Car car;
@RequestMapping("/car")
public Car car() {
return car;
}
@RequestMapping("/hello")
public String hello() {
log.info("请求进来了...");
return "你好, Spring Boot 2!";
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
访问localhost:9999/hello (opens new window),在控制台会打印“请求进来了...”
在GitHub上编辑此页 (opens new window)
上次更新: 2023/8/23 10:10:57