Java开发中lombok 下
1.需要添加依赖
1 <dependency> 2 <groupId>org.projectlombok</groupId> 3 <artifactId>lombok</artifactId> 4 <version>0.10.2</version> 5 </dependency>
2.IDEA设置->plugins插件里面->安装lombok插件
同时设置 Setting -> Compiler -> Annotation Processors -> Enable annotation processing勾选。
3.使用
lombok注解在java进行编译时进行代码的构建,对于java对象的创建工作它可以更优雅,不需要写多余的重复的代码,这对于JAVA开发人员是很重要的,在出现lombok之后,对象的创建工作更提供Builder方法,它提供在设计数据实体时,对外保持private setter,而对属性的赋值采用Builder的方式,这种方式最优雅,也更符合封装的原则,不对外公开属性的写操作!
@Builder声明实体,表示可以进行Builder方式初始化,@Value注解,表示只公开getter,对所有属性的setter都封闭,即private修饰,所以它不能和@Builder现起用
一般地,我们可以这样设计实体!
1 @Builder(toBuilder = true) 2 @Getter 3 public class UserInfo { 4 private String name; 5 private String email; 6 @MinMoney(message = "金额不能小于0.") 7 @MaxMoney(value = 10, message = "金额不能大于10.") 8 private Money price; 9 10 }
@Builder注解赋值新对象
1 UserInfo userInfo = UserInfo.builder() 2 .name("zzl") 3 .email("bgood@sina.com") 4 .build();
@Builder注解修改原对象的属性值
修改实体,要求实体上添加@Builder(toBuilder=true)
1 userInfo = userInfo.toBuilder() 2 .name("OK") 3 .email("zgood@sina.com") 4 .build();
@Data : 注解在类上, 为类提供读写属性, 此外还提供了 equals()、hashCode()、toString() 方法
@Getter/@Setter : 注解在类上, 为类提供读写属性
@ToString : 注解在类上, 为类提供 toString() 方法
@Slf4j : 注解在类上, 为类提供一个属性名为 log 的 log4j 的日志对象
@Log4j : 注解在类上, 为类提供一个属性名为 log 的 log4j 的日志对象