Lombok注解

一、简介:

  Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率

二、Lombok使用:

  使用Lombok需要的开发环境Java+Maven+IntelliJ IDEA或者Eclipse(安装Lombok Plugin)

2.1、添加maven依赖

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.4</version>
    <scope>provided</scope>
</dependency>

2.2、安装插件

使用Lombok还需要插件的配合,我使用开发工具为idea,这里只讲解idea中安装lombok插件,使用eclipse和myeclipse的小伙伴和自行google安装方法。 打开idea的设置,点击Plugins,点击Browse repositories,在弹出的窗口中搜索lombok,然后安装即可。

三、常用注解

注解名称 使用位置 描述说明
@Setter 注解在类或字段

注解在类时为所有字段生成setter方法,

注解在字段上时只为该字段生成setter方法

@Getter 注解在类或字段

注解在类时为所有字段生成Getter方法,

注解在字段上时只为该字段生成Getter方法

@ToString  注解在类 添加toString方法
@EqualsAndHashCode 注解在类 生成hashCode和equals方法
@NoArgsConstructor 注解在类 生成 无参的构造方法
@RequiredArgsConstructor 注解在类

生成 部分参数构造器,为类中需要特殊处理的字段生成构造方法,比如final和被@NonNull注解的字段

@AllArgsConstructor  注解在类 生成 全参构造方法
@Data  注解在类

生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,

则不会为该属性生成setter方法。

@Slf4j 注解在类

生成log变量,严格意义来说是常量。

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

 

使用:

  类上家注解

  log.error("getHostName error:{}",e);

@Builder 注解在类

产生复杂的构建器api类

案例:

/**
 * 测试 Builder
 * AAA实体类
*/ @Data @Builder public class AAA { private Integer age; private Integer count; }

测试代码:

    /**
     * 给这个对象中的某个属性赋值
     */
    @Test
    public void a(){

        AAA build = AAA.builder().age(20).build();
        System.out.println(build);

    }

结果:

AAA(age=20, count=null)
@NonNull 注解在字段 或 构造器

如果放在参数上,lombok 将在方法构造函数主体的开头插入一个 null-check,抛出一个 {@code NullPointerException},参数名称作为消息。

如果放在字段上,则任何为该字段赋值的生成方法也将生成这些 null 检查。

 

posted @ 2023-03-13 19:18  向大海  阅读(64)  评论(0编辑  收藏  举报