lombook注解使用

lombook注解使用,第1张

lombook注解使用 1.@EqualsAndHashCode
	User user1 = new User();
    user1.setName("jiangxp");
    user1.setAge(18);
    user1.setId(1);

    User user2 = new User();
    user2.setName("jiangxp");
    user2.setAge(18);
    user2.setId(2);

两条user数据,ID完全不一样,结果明显是错的,没有做id的equals判断,修改为:

@EqualsAndHashCode(callSuper = true)才能得到正确结果.

2.@Builder

调用其他团队某个接口的时候发现对方定义的Option里面分成了十几个选项,但是没有提供链式调用,这样每次set值就要好几行代码,使用起来很不方便,代码也不美观。

UserExample userExample = UserExample.builder()
                .id(1)
                .name("aaa")
                .address("bbb")
                .build();
3.常用的几个注解:

@Data : 注在类上,提供类的get、set、equals、hashCode、canEqual、toString方法
@AllArgsConstructor: 注在类上,提供类的全参构造
@NoArgsConstructor: 注在类上,提供类的无参构造
@Setter: 注在属性上,提供 set 方法
@Getter : 注在属性上,提供 get 方法
@EqualsAndHashCode : 注在类上,提供对应的 equals 和 hashCode 方法
@Log4j/@Slf4j : 注在类上,提供对应的 Logger 对象,变量名为 log

4.@Accessors(chain=true)

链式访问,该注解设置chain=true,生成setter方法返回this(也就是返回的是对象),代替了默认的返回void。

@Data
@Accessors(chain=true)
public class User {
    private Integer id;
    private String name;
    private Integer age;

    public static void main(String[] args) {
        //开起chain=true后可以使用链式的set
        User user=new User().setAge(31).setName("pollyduan");//返回对象
        System.out.println(user);
    }

}
5.@TableName
@TableName("user")
public class UserBean {
    // ...
}

将 user 数据表和 UserBean 实体进行映射。

6.@ApiModel和@ApiModelProperty

@ApiModelProperty()用于方法,字段; 表示对model属性的说明或者数据 *** 作更改
@ApiModel(value="user对象",description="用户对象user")

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5523027.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存