zl程序教程

您现在的位置是:首页 >  后端

当前栏目

微服务技术系列教程(06) - SpringBoot - lombok简洁代码

2023-09-11 14:15:40 时间

代码已上传至Github,有兴趣的同学可以下载来看看:https://github.com/ylw-github/SpringBoot-Log4j-Demo

SpringBoot集成lombok可以让代码更简洁,下面来讲讲lombok的集成与使用。

1. 集成与使用

步骤一:添加lombok依赖

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

步骤二:实体类

package com.ylw.springboot.lombok;

import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;

@Data
public class UserEntity {

    @Getter
    @Setter
    private String userName;

    @Getter
    @Setter
    private Integer age;

    @Override
    public String toString() {
        return "UserEntity [userName=" + userName + ", age=" + age + "]";
    }
}

步骤三:单元测试

import com.ylw.springboot.lombok.UserEntity;
import org.junit.Test;

public class LomBokTest {

    @Test
    public void test(){
        UserEntity userEntity = new UserEntity();
        userEntity.setUserName("zhangsan");
        userEntity.setAge(20);
        System.out.println(userEntity.toString());
    }
}

运行结果:
在这里插入图片描述

2. 其它特性

注解解析
@Data自动生成set/get方法,toString方法,equals方法,hashCode方法,不带参数的构造方法
@NonNull让你不在担忧并且爱上NullPointerException
@CleanUp自动资源管理:不用再在finally中添加资源的close方法
@Setter/@Getter自动生成set和get方法
@ToString自动生成toString方法
@EqualsAndHashcode从对象的字段中生成hashCode和equals的实现
@NoArgsConstructor/@RequiredArgsConstructor/@AllArgsConstructor自动生成构造方法
@Value用于注解final类
@Builder产生复杂的构建器api类
@SneakyThrows异常处理(谨慎使用)
@Synchronized同步方法安全的转化
@Getter(lazy=true)
@Log支持各种logger对象,使用时用对应的注解,如:@Log4

总结

在这里插入图片描述