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;
}
好了这期就到这里,我们下期再见。