解释
- @Builder:实现builder模式
- @NoArgsConstructor
@AllArgsConstructor
实现 无参构造、全部参数构造
(不使用这两玩意@Builder的全参构造器 会导致 无参构造器失效,可能在一些意想不到的地方出bug,例如交给spring管理时,涉及反射时) - @Data 不用多说,实现setter,getter,重写equals,toString,hashCode 等重要方法
这一套组合拳下来使得 这个 bean 的构造: 简单、可读性强、代码美观、利于扩展
如何使用
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Data
public class TestQueryIndexReq {
private String ticketNo;
private String coupon;
private String product;
private String userId;
private String price;
private String upgCabin;
private String channel;
}
@Test
public void testBuilder(){
TestQueryIndexReq testQueryIndexReq = TestQueryIndexReq.builder().ticketNo("111").coupon("222").build();
}