05.Lombok-多注解集合配置@Data

137 阅读1分钟

05.Lombok-多注解集合配置@Data

  • @Data, 定义一个干净的类,增加此注解,mvn compile查看字节码

  • 作用于类上,是以下注解的集合

    • @ToString
    • @EqualsAndHashCode
    • @Getter
    • @Setter
    • @RequiredArgsConstructor

注解的注解我们称为元注解,我们通过command + 鼠标左键进入查看。

  • 元注解
 /** 
 * @see Getter
 * @see Setter
 * @see RequiredArgsConstructor
 * @see ToString
 * @see EqualsAndHashCode
 * @see lombok.Value
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.SOURCE)
public @interface Data {

@Data注解

之前我们学习了如下注解:

package com.lzh.dao;

import lombok.*;

/**
 * @Author:kaiyang.cui
 * @Package:com.lzh.dao
 * @Project:1024shop-manager
 * @name:UserDao
 * @Date:2023/3/29 下午7:44
 * @Filename:UserDao
 * @Description:UserDao
 * @Version:1.0
 */
@Setter
@Getter
@NoArgsConstructor
@AllArgsConstructor
@ToString
@EqualsAndHashCode
public class UserDao {
    private int id;
    private String name;
    private int age;
}
@Setter
@Getter
@ToString
@EqualsAndHashCode

以上这些注解如果在每一个实体类上写,太麻烦了。 我们只需要写一个注解来代替以上注解-----@Data

这里有个坑,注意@Data注解没有提供全参构造!!!! 也不存在无参构造。

我的建议是需要在类上这样写:

@Data
@@NoArgsConstructor
@AllArgsConstructor

package com.lzh.dao;

import lombok.*;

/**
 * @Author:kaiyang.cui
 * @Package:com.lzh.dao
 * @Project:1024shop-manager
 * @name:UserDao
 * @Date:2023/3/29 下午7:44
 * @Filename:UserDao
 * @Description:UserDao
 * @Version:1.0
 */
@Data
@@NoArgsConstructor
@AllArgsConstructor
public class UserDao {
    private int id;
    private String name;
    private int age;
}

好了这期就到这里,我们下期再见。