栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

day-02 SpringBoot整合lombok

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

day-02 SpringBoot整合lombok

文章目录
  • lombok是什么?
  • Lombok常用注解简介
  • idea安装lombok插件
  • idea创建demo-day-02项目

lombok是什么?

lombok是一个插件,它能通过注解帮我们消除那些必须要写但是重复的代码,比如setter、getter以及构造函数之类的方法。
试想一个场景,在项目开发中,我们往往需要定义大量的数据库实体或者某些工具Bean ,每一个Bean都需要我们编写 getter、setter、构造方法以及toString等方法,这是一个非常繁琐的过程。程序员的准则是做三遍以上的重复事情就必须想办法让它自动化了。所以今天介绍一个牛逼的插件lombok。

Lombok常用注解简介
  • @Data: 注解在类上,将类提供的所有属性都添加get、set方法,并添加equals、canEquals、hashCode和toString方法
  • @Setter: 注解在类上,为所有属性添加set方法,注解在属性上为该属性提供set方法
  • @Getter: 注解在类上,为所有的属性添加get方法,注解在属性上为该属性提供get方法
  • @NotNull: 在参数中使用时,如果调用时传了null值,就会抛出空指针异常
  • @Synchronized: 用于方法,可以锁定指定的对象,如果不指定,则默认创建一个对象锁定
  • @Log: 作用于类,创建一个log属性
  • @Builder: 使用builder模式创建对象
  • @NoArgsConstructor: 创建一个无参构造函数
  • @AllArgsConstructor: 创建一个全参构造函数
  • @ToStirng: 创建一个toString方法
  • @Accessors(chain = true): 使用链式设置属性,set方法返回的是this对象。
  • @RequiredArgsConstructor: 创建对象
  • @UtilityClass: 工具类
  • @ExtensionMethod: 设置父类
  • @FieldDefaults: 设置属性的使用范围,如private、public等,也可以设置属性是否被final修饰
  • @EqualsAndHashCode: 重写equals和hashcode方法
  • @toString: 创建toString方法
  • @Cleanup: 关闭流、连接点
idea安装lombok插件


idea创建demo-day-02项目

  • pom.xml引入lombok包
    
        org.projectlombok
        lombok
        true
    
  • 新建person类

    代码如下:
package com.demo.model;

public class Person {
    private String id;
    private String name;
    private String age;
    private String sex;

    @Override
    public int hashCode() {
        return super.hashCode();
    }

    public Person(String id, String name, String age, String sex) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.sex = sex;
    }

    @Override
    public String toString() {
        return "Person{" +
                "id='" + id + ''' +
                ", name='" + name + ''' +
                ", age='" + age + ''' +
                ", sex='" + sex + ''' +
                '}';
    }

    public String getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }


}

以上可以看出来,我们需要写很多代码,那我们要是使用lombok呢?
代码改造如下:

package com.demo.model;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

//自动生成set/get方法,toString方法,equals方法,hashCode方法,不带参数的构造方法 
@Data 
//自动生成构造方法
@AllArgsConstructor 
//自动生成构造方法 
@NoArgsConstructor 
public class Person {
    private String id;
    private String name;
    private String age;
    private String sex;
}

使用了lombok看起来是不是更加简洁美观了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/351936.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号