第05课:在springboot中使用lombok

508 阅读2分钟

一、本课程目标:

  1. 学会安装lombok插件,并学会用lombok。
  2. 掌握lombok的核心@Data注解
  3. 掌握lombok的核心@Slf4j注解

二、为什么要使用lombok,它解决了什么问题?

Lombok 是一个 IDE 插件,也是一个依赖jar 包。它解决了开发人员少写代码,提升开发效率。它使开发人员不要去写javabean的getter/setter方法,写构造器、equals等方法;最方便的是你对javabean的属性增删改,你不用再重新生成getter/setter方法。省去一大麻烦事。

三、idea安装lombok插件

步骤1:idea搜索lombok插件

打开IDEA的Settings面板,并选择Plugins选项,然后点击 “Browse repositories..”image

步骤2:安装并重启idea

点击安装,然后安装提示重启IDEA,安装成功;image记得重启IDEA,不然不生效。

四、体验lombok的第一大功能:@Data注解

步骤1:什么是@Data注解

@Data注解在实体类上,会为类的所有属性自动生成setter/getter、equals、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。

步骤2:pom文件,添加依赖包

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.8</version>
</dependency>

步骤3:创建一个javabean

@Data
public class UserVO {
    private Integer id;

    private String username;

    private String password;

    private Byte sex;

    private Byte deleted;

    private Date updateTime;

    private Date createTime;
}

创建一个Controller测试类

@RestController
public class UserController {

    @RequestMapping("/user")
    public  UserVO  user() {
        UserVO userVO=new UserVO();
        userVO.setId(100);
        userVO.setUsername("agan");
        return userVO;
    }
}

在浏览器中输入http://127.0.0.1:9090/user 能正常显示即可。

五、体验lombok的第二大功能:@Slf4j注解

注解@Slf4j的作用就是代替以下代码:

private  final Logger logger = LoggerFactory.getLogger(XXX.class);

让你不用每次都写重复的代码。

新建一个测试类:

@RestController
@Slf4j
public class UserController {

    @RequestMapping("/log")
    public  void  log() {
        log.trace("-----------trace-------------");
        log.debug("-----------debug-------------");
        log.info("-----------info-------------");
        log.warn("-----------warn-------------");
        log.error("-----------error-------------");
    }
}

在浏览器输入 http://127.0.0.1:9090/log正常显示如下:

2019-09-02 TRACE c.a.b.l.c.UserController ------------trace-------------
2019-09-02 DEBUG c.a.b.l.c.UserController ------------debug-------------
2019-09-02 INFO  c.a.b.l.c.UserController ------------info-------------
2019-09-02 WARN  c.a.b.l.c.UserController ------------warn-------------
2019-09-02 ERROR c.a.b.l.c.UserController ------------error-------------

六:课后练习题

public class City {

    private Long id;

    private Long provinceId;

    private String cityName;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getProvinceId() {
        return provinceId;
    }

    public void setProvinceId(Long provinceId) {
        this.provinceId = provinceId;
    }

    public String getCityName() {
        return cityName;
    }

    public void setCityName(String cityName) {
        this.cityName = cityName;
    }
}

请把以上City类,转换为lombok对象。然后建个测试类,执行以下代码

City city=new City();
city.setId(100);
city.setCityName("深圳");
city.setProvinceId(200);
log.error("-----------error-------------");

-----------------------------配套学习资料-----------------------------

  1. 课后练习作业请提交到QQ群(1号QQ群3000人已满,请加2号群:985378659[群名:SpringBoot架构师])
  2. 本课程配套免费视频教程
    https://study.163.com/course/introduction/1004576013.htm?share=1&shareId=1016481220
  3. 本课程配套源码地址:https://github.com/agan-java/agan-boot

image