lombook注解使用
2023-03-15 22:00:41 时间
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")
相关文章
- TG 下的C2创建过程
- Lambda表达式用法超详细整理!!!
- Qt中的lambda表达式
- 小白也能看懂的基数排序!!!
- 二叉树的前序遍历
- 迷宫问题的三种解法
- 用开源工具将任何网站变成 Linux 桌面应用 | Linux 中国
- 二叉树的后序遍历
- stl中的size_type,difference_type和value_type,reference
- 小白也能看懂的归并排序!!!
- 被华为“嫁出去”的欧拉 | Linux 中国
- exa:一个 ls 命令的现代替代品 | Linux 中国
- 纯 Git 实现前端 CI/CD
- 在 FreeDOS 上使用 BAT 文件自动执行任务 | Linux 中国
- IDEA高颜值之最吸引小姐姐插件集合!让你成为人群中最靓的那个崽!
- Apache Hudi PMC畅谈Hudi未来演进之路
- 学会使用 Performance, 找性能问题简单好多!
- 对称二叉树
- 110. 平衡二叉树
- 匿名对象