南宁网站建设工具,网站推荐2021,开发app工具,青岛 公司 网站建设价格点击进入Lombok官网下载Lombok jar包
使用Lombok可能需要注意的地方 #xff08;1#xff09;当你的IDE是Idea时#xff0c;要注意你的Idea是支持Lombok的#xff0c;如果不支持请更换高版本尝试#xff08;这里采用2018 3.3#xff09;。 #xff08;2#xff09;在使…
点击进入Lombok官网下载Lombok jar包
使用Lombok可能需要注意的地方 1当你的IDE是Idea时要注意你的Idea是支持Lombok的如果不支持请更换高版本尝试这里采用2018 3.3。 2在使用Lombok时你的编辑器可能会报错这时请在你的IDE中安装Lombok插件如果使用的Idea则直接搜索Lombok插件选择星级最高的直接安装就是其他Ide类同。 3参数的处理往往都是根据项目需求来进行请妥善处理参数。 4如果你无法访问Lombok官网你可以从这篇博文中将Maven坐标照着自己打进去或者你也可以访问Maven的中央仓库搜索Lombok将Maven坐标复制进去即可。 1、Lombok简介
Lombok能以简单的注解形式来简化java代码提高开发人员的开发效率。例如开发中经常需要写的javabean都需要花时间去添加相应的getter/setter也许还要去写构造器、equals等方法而且需要维护当属性多时会出现大量的getter/setter方法这些显得很冗长也没有太多技术含量一旦修改属性就容易出现忘记修改对应方法的失误。
Lombok能通过注解的方式在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString等方法。出现的神奇就是在源码中没有getter和setter方法但是在编译生成的字节码文件中有getter和setter方法。这样就省去了手动重建这些代码的麻烦使代码看起来更简洁些。
使用Lombok的原因
根据Lombok的使用规则如果想要使用Lombok就需要删除在项目中JavaBean存在的已经生成的getter方法setter方法以及equals和hash方法当然Lombok也提供了对打印日志的处理。这样在使用Lombok以后就会大大减少项目中的代码量同时由于Lombok有自动修改的功能这也提供了项目中代码的执行效率。 综上所述使用Lombok的两点主要原因就是 1简化冗余的JavaBean代码。 2大大提高JavaBean中方法的执行效率。 2、IDEA中安装Lombok插件
选择【File】- 【Settings】-【Plugins】 – 输入Lombok按回车键进行搜索单击【Install】进行安装安装完成后点击【Apply】和【OK】然后重启IDEA即可安装成功。
注意在重启前建议勾选结开启【Annotation Processors】下的【Enable annotation processing】CtrlShiftA键输入Annotation Processors回车搜索即可找到该选项。 3、使用LomBok 在Lombok的官网有一个install选项我们点开它会看到多种安装方式可以根据自己的项目需求来选择使用哪种方式这里以Maven为例
点击Maven会看到一组坐标 根据它的提示我们将这一组坐标添加到我们的pom文件中
dependenciesdependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.4/versionscopeprovided/scope/dependency
/dependencies添加进去以后点击import change等待Idea把jar包下载完就可以在项目中使用了。 4、Lombok常用注解详解
Data注解
在JavaBean或类JavaBean中使用这个注解包含范围最广它包含getter、setter、NoArgsConstructor注解即当使用当前注解时会自动生成包含的所有方法 getter注解
在JavaBean或类JavaBean中使用使用此注解会生成对应的getter方法 setter注解
在JavaBean或类JavaBean中使用使用此注解会生成对应的setter方法 NoArgsConstructor注解
在JavaBean或类JavaBean中使用使用此注解会生成对应的无参构造方法 AllArgsConstructor注解
在JavaBean或类JavaBean中使用使用此注解会生成对应的有参构造方法 ToString注解
在JavaBean或类JavaBean中使用使用此注解会自动重写对应的toStirng方法 EqualsAndHashCode注解
在JavaBean或类JavaBean中使用使用此注解会自动重写对应的equals方法和hashCode方法 Slf4j
在需要打印日志的类中使用当项目中使用了slf4j打印日志框架时使用该注解会简化日志的打印流程只需调用info方法即可 Log4j
在需要打印日志的类中使用当项目中使用了log4j打印日志框架时使用该注解会简化日志的打印流程只需调用info方法即可 在使用以上注解需要处理参数时处理方法如下
以ToString注解为例其他注解同ToString注解 ToString(excludecolumn)
意义排除column列所对应的元素即在生成toString方法时不包含column参数 ToString(exclude{column1,column2})
意义排除多个column列所对应的元素其中间用英文状态下的逗号进行分割即在生成toString方法时不包含多个column参数 ToString(ofcolumn)
意义只生成包含column列所对应的元素的参数的toString方法即在生成toString方法时只包含column参数 ToString(of{column1,column2})
意义只生成包含多个column列所对应的元素的参数的toString方法其中间用英文状态下的逗号进行分割即在生成toString方法时只包含多个column参数 5、示例代码仅简单举一个使用例子
不使用Lombok传统方法
package com.user;public class UserInfo {private String userid;private String username;private String userpass;private String userphone;private String useremail;private String usercard;private String useraddress;Overridepublic String toString() {return UserInfo{ userid userid \ , username username \ , userpass userpass \ , userphone userphone \ , useremail useremail \ , usercard usercard \ , useraddress useraddress \ };}public String getUserid() {return userid;}public void setUserid(String userid) {this.userid userid;}public String getUsername() {return username;}public void setUsername(String username) {this.username username;}public String getUserpass() {return userpass;}public void setUserpass(String userpass) {this.userpass userpass;}public String getUserphone() {return userphone;}public void setUserphone(String userphone) {this.userphone userphone;}public String getUseremail() {return useremail;}public void setUseremail(String useremail) {this.useremail useremail;}public String getUsercard() {return usercard;}public void setUsercard(String usercard) {this.usercard usercard;}public String getUseraddress() {return useraddress;}public void setUseraddress(String useraddress) {this.useraddress useraddress;}}使用Lombok
package com.user;import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;Setter
Getter
public class UserInfo {private String userid;private String username;private String userpass;private String userphone;private String useremail;private String usercard;private String useraddress;}只给单个参数添加
package com.user;import lombok.Getter;
import lombok.Setter;public class UserInfo {GetterSetter private String userid;private String username;private String userpass;private String userphone;private String useremail;private String usercard;private String useraddress;}--------------------- 作者Hern宋兆恒 来源CSDN 原文https://hernsong.blog.csdn.net/article/details/86546970 版权声明本文为作者原创文章转载请附上博文链接 内容解析ByCSDN,CNBLOG博客文章一键转载插件