您的位置:首页 > 其它

lombok

2017-02-15 15:36 246 查看

转自:http://blog.csdn.net/mlinge/article/details/51340362

lombok是什么 

lombok 是通过提供简单注解的来帮助我们简化一些必须但又显得很臃肿的 Java 代码的工具包。

使用lombok工具包提供的相关注解,可以使得我们的代码更加简洁,编写更高效。

官方有一个简短的视频介绍:https://projectlombok.org/ 

lombok有哪些特性

这里列举lombok的一些主要特性:



val
注解在局部变量上:定义局部变量时可简化设定变量类型,类似于JavaScript中那样设置定义变量时的var
用法:https://projectlombok.org/features/val.html

@NonNull
注解在方法参数上:使用@NonNull为方法或构造函数的参数进行null的声明检查
用法:https://projectlombok.org/features/NonNull.html

@Cleanup 
注解在变量上:使用@Cleanup可确保给定资源在代码执行退出之前完成自动清理,如InputStream这样的close()调用;
用法:https://projectlombok.org/features/Cleanup.html

@Getter / @Setter
注解在属性上;为属性提供 setter,getter 方法
用法:https://projectlombok.org/features/GetterSetter.html

@ToString
注解在类上:可实现包括类中属性字段的toString方法
用法:https://projectlombok.org/features/ToString.html

@EqualsAndHashCode
注解在类上:完成类中需要手动覆写的equals方法和hashCode方法的功能
用法:https://projectlombok.org/features/EqualsAndHashCode.html

@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor
注解在类上:实现一些与构造方法定义相关的功能
用法:https://projectlombok.org/features/Constructor.html

@Data
注解在类上:提供类所有属性的 getter,setter 方法,此外还提供了equals、canEqual、hashCode、toString方法
用法:https://projectlombok.org/features/Data.html

@Value
注解在类上:提供与@Data基本一样的功能,但却又有所区别
用法:https://projectlombok.org/features/Value.html

@Builder
注解在类上:实现一种Builder Patterns(生成器模式)的功能
用法:https://projectlombok.org/features/Builder.html

@SneakyThrows
注解到方法上:可以实现在try...catch到异常后进行的throw操作
用法:https://projectlombok.org/features/SneakyThrows.html

@Synchronized
注解到方法上:实现同步代码片段的功能
用法:https://projectlombok.org/features/Synchronized.html

@Getter(lazy=true)
注解到变量上:懒加载的方式获取一个变量的值,而且是线程安全的
用法:https://projectlombok.org/features/GetterLazy.html

@Log
注解在类上:可以在需要记录日志的类中定义一个日志记录器
用法:https://projectlombok.org/features/Log.html

Configuration system
描述:可以在某一个位置为整个项目配置Lombok特性,可以是您的工作区。
用法:https://projectlombok.org/features/configuration.html

Experimental features
描述:没有在这里列出的一些其他特性,在以下用法中可以进一步了解到
用法:https://projectlombok.org/features/experimental/index.html

以下是由Michael Kimberlin编写的学习教程
http://jnb.ociweb.com/jnb/jnbJan2010.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: