文章目录

  • 前言
  • 1 配置
  • 2 常用注解
  • 2 Java代码案例

前言

哈喽,大家好,我是有勇气的牛排(全网同名)🐮🐮🐮

有问题的小伙伴欢迎在文末评论,点赞、收藏是对我最大的支持!!!。

官网:https://www.couragesteak.com/

Lombok项目是一个java库,它可以自动插入到编辑器和构建工具中,增强java的性能。不需要再写getter、setter或equals方法,只要有一个注解,你的类就有一个功能齐全的构建器、自动记录变量等等

lombok官网:https://projectlombok.org/features/

1 配置

Maven依赖 :

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.8.RELEASE</version>
    </parent>
    <dependencies>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

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

    </dependencies>

idea安装lombok插件 :

File–>Setting–>Plugins–>搜索“lombok plugin”,安装后重启ide

2 常用注解

@Data: 注解在类上,提供类所有属性的gettingsetting方法,它还提供了equalscanEqualhashCodetoString方法。
@Setter:注解在属性上,为属性提供 setting 方法。
@Getter: 注解在属性上,为属性提供 getting 方法。
@Log4j:注解在类上,为类提供一个名为log的log4j日志对象。
@NoArgsConstructor: 注解在类上,为类提供一个无参构造方法。
@AllArgsConstructor: 注解在类上,为类提供全参构造方法。
@NonNull: 注解在参数上,可以省略重复的 if(null == persion) 这类异常处理。
@Cleanup:注解在输入输出流等需要释放资源的变量上,不需要写额外繁琐而重复的释放资源代码。

2 Java代码案例

/*
 * @Author  : 有勇气的牛排
 * @FileName: UserEntity.java
 * desc     :
 * */

package com.couragesteak.test;

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

@Data
@Slf4j
public class UserEntity {

    private Integer id;
    private String userName;
    private Integer age;

    public UserEntity() {
    }

    public UserEntity(Integer id, String userName, Integer age) {
        this.id = id;
        this.userName = userName;
        this.age = age;
    }

    @Override
    public String toString() {
        return "UserEntity{" +
                "id=" + id +
                ", userName='" + userName + '\'' +
                ", age=" + age +
                '}';
    }

    public static void main(String[] args) {
        log.info("========cs=======");
        UserEntity userEntity = new UserEntity(1,"有勇气的牛排",20);
        System.out.println(userEntity.toString());
        System.out.println(userEntity.getUserName());
    }
}

SpringBoot (五) 集成 lombok简化代码_java

如果不适用lombok打印日志

private Logger log = Logger.getLogger(UserEntity.class);

参考地址:
[1] 余胜军
[2] https://developer.aliyun.com/article/319220