lombok插件,谁使用谁知道,用了lombok把你从生成getter/setter的泥沼中解脱出来,让你的代码看的更加简洁清爽!
引入依赖jar包:
<dependency>
<groupId> org. projectlombok </groupId>
<artifactId> lombok </artifactId>
</dependency>
使用lombok前,我们的bean是这个样子的:

我们在写完对象的属性之后还要去生成对应的getter/setter,虽然现在的IDE中有插件来帮助生成或者生成代码工具会自动帮我们自动生成,但是这样的代码给我们的感觉比较冗余臃肿,所以lombok应运而生了,接下来我们看下引入lombok后的效果。
使用lombok后,我们的bean是这个样子的:

使用很简单,加入注解@Data
就OK了。看一下代码是不是看的很清爽,它的好处还有一个就是,后面项目业务扩展加入其它字段属性,不需要自己再写完后去生成,防止自己忘了遗漏什么的。
既然lombok这么好,那我们项目都用它好了,但是one coin has two sides
, lombok它也是有缺点的:
1.要求IDE增加对lombok的支持,比如IDEA中需要安装lombok的插件;如果你对外提供的服务使用lombok,那么可能引用jar的其他项目需要增加对lombok的支持,但是并不麻烦。
2.如果你想确认某个set或get方法是否在程序中被调用,你无法找到哪里使用的(即get/set中包含有业务逻辑处理)。但是我更认为这样的操作是违背了bean使用的初衷,bean尤其数据库和java类的映射bean,java对bean的定义和使用就是无参数的构造方法和set和get方法,而不应该在bean中处理任何和业务有任何关系的逻辑。
还有的人说这个lombok是个插件又不是插件
,因为这个插件改变了我们的编码习惯,很容易让程序员忘却底层代码的样子,它的出现不利于源码的阅读与扩展(为什么我们项目中引入了依赖,IDE中还需要安装插件?因为在编译器编译时通过操作AST(抽象语法树)改变字节码生成,变向的就是说它在改变java语法)。如果Java中充斥这种插件,那么Java就不再是一门优秀的语言了。
其实,Java是一门语言,也是个工具,lombok同样是工具。怎么使用这个工具,那就需要仁者见仁、智者见智了。结合具体业务场景和项目实际情况,无需一味追求高大上的技术,适合的才是王道
。
网友评论