lombok学习

lombok官网点击打开链接

Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.

Never write another getter or equals method again. Early access to future java features such as val, and much more.

官网解释一个可插拔于编辑器和构建工具的第三方库,不再书写get set equals hashcode 等方法,还有更多特性。

自己解释,可以放在eclipse idea  maven gradle java等等


特性  只看stable稳定版本

lombok特性
     
     
     
val    
var    
@NonNull 非空 示例
@CleanUp 资源自动关闭  
@Getter(layzer=true)/@Setter 自动get,set延迟获取  
@ToString 字符串转换  
@EqualsAndHashCode 相等和hashcode重写  
@NoArgsConstructor,@RequireArgConstructor and@AllArgsConstructor 自动构造生成  
@Data    
@Value    
@Builder    
@SneakyThrows    
@Synchorized    
@Log    
examprimental    
     
     
     
     

maven依赖

<dependencies>
	<dependency>
		<groupId>org.projectlombok</groupId>
		<artifactId>lombok</artifactId>
		<version>1.16.20</version>
		<scope>provided</scope>
	</dependency>
</dependencies>
使用lombok项目的方法很简单,分为四个步骤:
1)在需要自动生成getter和setter方法的类上,加上@Data注解
2)在编译类路径中加入lombok.jar包
3)使用支持lombok的编译工具编译源代码(关于支持lombok的编译工具,见“四、支持lombok的编译工具”)

4)编译得到的字节码文件中自动生成了getter和setter方法

lombok工作原理

javac就支持“JSR 269 Pluggable Annotation Processing API”规范,只要程序实现了该API,就能在javac运行的时候得到调用。

1)javac对源代码进行分析,生成一棵抽象语法树(AST)
2)运行过程中调用实现了"JSR 269 API"的A程序
3)此时A程序就可以完成它自己的逻辑,包括修改第一步骤得到的抽象语法树(AST)

4)javac使用修改后的抽象语法树(AST)生成字节码文件


总结

使用lombok虽然能够省去手动创建setter和getter方法的麻烦,但是却大大降低了源代码文件的可读性和完整性,降低了阅读源代码的舒适度。




猜你喜欢

转载自blog.csdn.net/fengyuhan123/article/details/79892836
今日推荐