@Data 注解引出的 lombok 小辣椒
来源:互联网 发布:猎奇鉴定中心 知乎 编辑:程序博客网 时间:2024/04/28 07:59
今天在看代码的时候, 看到了这个注解, 之前都没有见过, 所以就查了下, 发现还是个不错的注解, 可以让代码更加简洁.
这个注解来自于 lombok,lombok 能够减少大量的模板代码,减少了在使用@Data 注解时, 需要导入lombok.Data,下面列举下 lombok提供的注解:
val : 和 scala 中 val 同名, 可以在运行时确定类型;
@NonNull : 注解在参数上, 如果该类参数为 null , 就会报出异常, throw new NullPointException(参数名)
@Cleanup : 注释在引用变量前, 自动回收资源 默认调用 close() 方法
@Getter/@Setter : 注解在类上, 为类提供读写属性
@Getter(lazy=true) :
@ToString : 注解在类上, 为类提供 toString() 方法
@EqualsAndHashCode : 注解在类上, 为类提供 equals() 和 hashCode() 方法
@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor : 注解在类上, 为类提供无参,有指定必须参数, 全参构造函数
@Data : 注解在类上, 为类提供读写属性, 此外还提供了 equals()、hashCode()、toString() 方法
@Value :
@Builder : 注解在类上, 为类提供一个内部的 Builder
@SneakThrows :
@Synchronized : 注解在方法上, 为方法提供同步锁
@Log :
@Log4j : 注解在类上, 为类提供一个属性名为 log 的 log4j 的日志对象
@Slf4j : 注解在类上, 为类提供一个属性名为 log 的 log4j 的日志对象
@Cleanup("dispose") org.eclipse.swt.widgets.CoolBar bar = new CoolBar(parent, 0);
@Cleanup InputStream in = new FileInputStream(args[0]);
@Cleanup OutputStream out = new FileOutputStream(args[1]);
上面一些注解是由包含关系的, 看需要什么方法就增加什么注解,@Log4j 和 @Slf4j 注解作用不小, 用在各层都可以,方便打 log。
也可以查看官网 [ 官网 ]
简易例子:[ 只是用了@Data注解 ]
public @Data class Student { private String stuId; private String stuName; private String stuNum; private String stuSex; }
虽然说,eclipse 的快捷键生成这些代码会很快,但是知道总比不知道的好,万一别人用了,你看不懂别人的代码呢?那就不面子丢大了,还只是个实体类而已。
我觉得最重要的是,代码行数少了很多,简洁的代码谁不喜欢呢?
还有一点, 使用这个 lombok 需要安装 lombok 插件。
- @Data 注解引出的 lombok 小辣椒
- @Data 注解引出的 lombok 小辣椒
- @Data 注解引出的 lombok 注解
- lombok 注解的使用
- lombok的相关注解
- Java的lombok注解
- lombok的注解
- lombok @EqualsAndHashCode 注解的影响
- 好用的注解lombok
- lombok @EqualsAndHashCode 注解的影响
- lombok @EqualsAndHashCode 注解的影响
- 小辣椒使用笔记
- lombok 注解
- lombok 注解
- lombok注解
- quartus 小技巧—— 分线。例如总线data[31..0],引出的分线为data[7..0]。
- Lombok-很强大的POJO注解器
- 使用dozer注意一点,涉及lombok.Data的@Data
- 【W2】微信公众号项目
- org.apache.ibatis.builder.IncompleteElementException: Could not find result map
- Spark1.6源码之资源调度机制
- solr基础查询
- 阿里视频云最强转码技术揭秘:窄带高清原理解析+用户接入指南
- @Data 注解引出的 lombok 小辣椒
- 未来无线发送短信接口文档
- 阿里云幸运券以及阿里云ESC8折码
- AndroidProject RxJava+Retrofit
- JAVA反射浅析
- 小程序文档整理之 -- API(网络请求)
- Max Sum Plus Plus m段连续子序列最大和
- 使用bazel编译tensorflow serving是报错:src/create_embedded_tools.sh: line 93: zip: command not found
- fasd