Lombok 学习笔记

简介: Lombok 学习笔记

Lombok 学习笔记

前言

用法参考:https://projectlombok.org/features/all


使用笔记

  • @Data:自动生成无参构造方法(没有构造方法时)、Getter/Setter 方法、equals/hashCode 方法以及 toString 方法;
  • @NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor:
  • @NonNull:防止空指针;
  • @Cleanup:优雅安全的关闭IO流
  • @Log:推荐(@Slf4j,slf4j 是日志系统的门面)
  • @Getter/@Setter
  • @ToString
  • @EqualsAndHashCode
  • val:局部常量;
  • var:局部变量;
  • @Value
  • @Builder
  • @SneakyThrows
  • @Synchronized
  • @Getter(lazy=true)

推荐使用

@Data

@Data:自动生成无参构造方法(没有构造方法时)、Getter/Setter 方法、equals/hashCode 方法以及 toString 方法;


@Slf4j

@Slf4j 是日志系统的门面,会自动生成

private static final Logger log = LoggerFactory.getLogger(UserController.class);


@Builder

实体类上使用 @Builder 注解

package top.simba1949.model;
import lombok.Builder;
import lombok.Data;
/**
 * @Author Theodore
 * @Date 2020/4/7 11:04
 */
@Data
@Builder
public class User {
    private Integer id;
    private String username;
    private String password;
    private Boolean adultFlag;
}


构建实体类 API

package top.simba1949.controller;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import top.simba1949.model.User;
/**
 * @Author Theodore
 * @Date 2020/4/7 11:06
 */
@Slf4j
@RestController
@RequestMapping("user")
public class UserController {
    @GetMapping
    public User get(){
        // 使用 @Builder 构建实体类
        User user = User.builder().id(1).username("李小白").password("醉酒楼").adultFlag(true).build();
        return user;
    }
}


目录
相关文章
|
2月前
|
存储 Java
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
|
5天前
|
Java
lombok的使用
本文介绍了Lombok库的基本使用方法和常用注解,通过示例代码展示了如何使用Lombok简化Java对象的创建、属性访问、日志记录等编码工作,使代码更加简洁。
lombok的使用
|
20天前
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(基础篇)
从Java环境的搭建到实际代码的编写,从基本用法的讲解到底层原理的剖析,深度解析Java基础知识。本文是《Java学习路线》专栏的起始文章,旨在提供一套完整的Java学习路线,覆盖Java基础知识、数据库、SSM/SpringBoot等框架、Redis/MQ等中间件、设计模式、架构设计、性能调优、源码解读、核心面试题等全面的知识点,并在未来不断更新和完善,帮助Java从业者在更短的时间内成长为高级开发。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(基础篇)
|
20天前
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(进阶篇)
本文是Java基础的进阶篇,对异常、集合、泛型、Java8新特性、I/O流等知识进行深入浅出的介绍,并附有对应的代码示例,重要的地方带有对性能、底层原理、源码的剖析。适合Java初学者。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(进阶篇)
|
14天前
|
IDE Java 编译器
lombok编译遇到“找不到符号的问题”
【9月更文挑战第18天】当使用 Lombok 遇到 “找不到符号” 的问题时,可能是由于 Lombok 未正确安装、编译器不支持、IDE 配置不当或项目构建工具配置错误。解决方法包括确认 Lombok 安装、编译器支持,配置 IDE 和检查构建工具配置。通过这些步骤通常可解决问题,若问题仍存在,建议检查项目配置和依赖,或查看日志获取更多信息。
|
20天前
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(高级篇)
本文是“Java学习路线”中Java基础知识的高级篇,主要对多线程和反射进行了深入浅出的介绍,在多线程部分,详细介绍了线程的概念、生命周期、多线程的线程安全、线程通信、线程同步,并对synchronized和Lock锁;反射部分对反射的特性、功能、优缺点、适用场景等进行了介绍。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(高级篇)
|
2月前
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
49 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
|
2月前
|
SQL Java 关系型数据库
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
67 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
|
2月前
|
SQL 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
31 6
|
2月前
|
存储 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
32 4
下一篇
无影云桌面