博客
关于我
Lombok的使用及注解含义
阅读量:803 次
发布时间:2023-02-06

本文共 1642 字,大约阅读时间需要 5 分钟。

Lombok是一种强大的 Java 开发工具,旨在简化实体类(POJO)代码的书写。通过使用特定的注解,开发人员可以自动生成一系列常见的方法,如 getter、setter、toString、equals、hashCode 等,从而提高开发效率。

如何使用 Lombok

在 IDEA 中安装 Lombok 插件

  • 打开 File -> Settings -> Plugins
  • 在Marketplace中搜索“Lombok”并安装插件。
  • 安装完成后,重启 IDEA。
  • 添加 Maven 依赖

    在项目的 pom.xml 文件中添加 Lombok 的依赖:

    org.projectlombok
    lombok
    provided

    常用注解

    Lombok 提供了多种注解,帮助开发人员快速构建和维护代码。

  • @Getter / @Setter

    自动生成 get()set() 方法。

  • @ToString

    自动生成 toString() 方法。

  • @NoArgsConstructor / @AllArgsConstructor

    自动生成无参数构造函数和全参数构造函数。

  • @EqualsAndHashCode

    自动生成 equals()hashCode() 方法。

  • @Data

    组合使用 @Getter@Setter@EqualsAndHashCode@ToString 的效果。

  • @Value

    等价于 @AllArgsConstructor@Getter@EqualsAndHashCode@ToString,并将类和字段设为 final

  • @Accessors

    配置 @Getter@Setter 方法的样式和命名规则,支持链式编程。

  • @Slf4j

    自动生成类的 log 静态常量。

  • @Accessors 注解示例

    chain = true

    public class User {    private String userId;    private String userName;    @Accessors(chain = true)    public void setUserId(String userId) {        this.userId = userId;    }}

    fluent = true

    public class User {    private String userId;    private String userName;    @Accessors(fluent = true)    public void setUserId(String userId) {        this.userId = userId;        return this;    }}

    prefix = “user”

    public class User {    private String userId;    private String userName;    @Accessors(prefix = "user")    public void setUserId(String userId) {        this.userId = userId;    }}

    @Slf4j 示例

    @Slf4jpublic class LogManager {    private static final LogManager logger = new LogManager();    private LogManager() {        // 私有构造函数    }    public void log信息() {        logger.info("日志信息");    }}

    转载地址:http://unufk.baihongyu.com/

    你可能感兴趣的文章
    MySQL Cluster 7.0.36 发布
    查看>>
    Multimodal Unsupervised Image-to-Image Translation多通道无监督图像翻译
    查看>>
    MySQL Cluster与MGR集群实战
    查看>>
    multipart/form-data与application/octet-stream的区别、application/x-www-form-urlencoded
    查看>>
    mysql cmake 报错,MySQL云服务器应用及cmake报错解决办法
    查看>>
    Multiple websites on single instance of IIS
    查看>>
    mysql CONCAT()函数拼接有NULL
    查看>>
    multiprocessing.Manager 嵌套共享对象不适用于队列
    查看>>
    multiprocessing.pool.map 和带有两个参数的函数
    查看>>
    MYSQL CONCAT函数
    查看>>
    multiprocessing.Pool:map_async 和 imap 有什么区别?
    查看>>
    MySQL Connector/Net 句柄泄露
    查看>>
    multiprocessor(中)
    查看>>
    mysql CPU使用率过高的一次处理经历
    查看>>
    Multisim中555定时器使用技巧
    查看>>
    MySQL CRUD 数据表基础操作实战
    查看>>
    multisim变压器反馈式_穿过隔离栅供电:认识隔离式直流/ 直流偏置电源
    查看>>
    mysql csv import meets charset
    查看>>
    multivariate_normal TypeError: ufunc ‘add‘ output (typecode ‘O‘) could not be coerced to provided……
    查看>>
    MySQL DBA 数据库优化策略
    查看>>