当前位置:   article > 正文

Lombok插件安装(IDEA)、配置jar包、使用_idea配置lombok.jar

idea配置lombok.jar

点击进入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】(Ctrl+Shift+A键,输入Annotation Processors回车搜索即可找到该选项)。


3、使用LomBok

    在Lombok的官网有一个install选项,我们点开它会看到多种安装方式,可以根据自己的项目需求来选择使用哪种方式,这里以Maven为例:

点击Maven会看到一组坐标:

根据它的提示我们将这一组坐标添加到我们的pom文件中:

  1. <dependencies>
  2. <dependency>
  3. <groupId>org.projectlombok</groupId>
  4. <artifactId>lombok</artifactId>
  5. <version>1.18.4</version>
  6. <scope>provided</scope>
  7. </dependency>
  8. </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(exclude="column")

意义:排除column列所对应的元素,即在生成toString方法时不包含column参数;

@ToString(exclude={"column1","column2"})

意义:排除多个column列所对应的元素,其中间用英文状态下的逗号进行分割,即在生成toString方法时不包含多个column参数;

@ToString(of="column")

意义:只生成包含column列所对应的元素的参数的toString方法,即在生成toString方法时只包含column参数;;

@ToString(of={"column1","column2"})

意义:只生成包含多个column列所对应的元素的参数的toString方法,其中间用英文状态下的逗号进行分割,即在生成toString方法时只包含多个column参数;

5、示例代码(仅简单举一个使用例子)

不使用Lombok(传统方法)

  1. package com.user;
  2. public class UserInfo {
  3. private String userid;
  4. private String username;
  5. private String userpass;
  6. private String userphone;
  7. private String useremail;
  8. private String usercard;
  9. private String useraddress;
  10. @Override
  11. public String toString() {
  12. return "UserInfo{" +
  13. "userid='" + userid + '\'' +
  14. ", username='" + username + '\'' +
  15. ", userpass='" + userpass + '\'' +
  16. ", userphone='" + userphone + '\'' +
  17. ", useremail='" + useremail + '\'' +
  18. ", usercard='" + usercard + '\'' +
  19. ", useraddress='" + useraddress + '\'' +
  20. '}';
  21. }
  22. public String getUserid() {
  23. return userid;
  24. }
  25. public void setUserid(String userid) {
  26. this.userid = userid;
  27. }
  28. public String getUsername() {
  29. return username;
  30. }
  31. public void setUsername(String username) {
  32. this.username = username;
  33. }
  34. public String getUserpass() {
  35. return userpass;
  36. }
  37. public void setUserpass(String userpass) {
  38. this.userpass = userpass;
  39. }
  40. public String getUserphone() {
  41. return userphone;
  42. }
  43. public void setUserphone(String userphone) {
  44. this.userphone = userphone;
  45. }
  46. public String getUseremail() {
  47. return useremail;
  48. }
  49. public void setUseremail(String useremail) {
  50. this.useremail = useremail;
  51. }
  52. public String getUsercard() {
  53. return usercard;
  54. }
  55. public void setUsercard(String usercard) {
  56. this.usercard = usercard;
  57. }
  58. public String getUseraddress() {
  59. return useraddress;
  60. }
  61. public void setUseraddress(String useraddress) {
  62. this.useraddress = useraddress;
  63. }
  64. }

使用Lombok

  1. package com.user;
  2. import lombok.AccessLevel;
  3. import lombok.Getter;
  4. import lombok.Setter;
  5. @Setter
  6. @Getter
  7. public class UserInfo {
  8. private String userid;
  9. private String username;
  10. private String userpass;
  11. private String userphone;
  12. private String useremail;
  13. private String usercard;
  14. private String useraddress;
  15. }

只给单个参数添加

  1. package com.user;
  2. import lombok.Getter;
  3. import lombok.Setter;
  4. public class UserInfo {
  5. @Getter@Setter private String userid;
  6. private String username;
  7. private String userpass;
  8. private String userphone;
  9. private String useremail;
  10. private String usercard;
  11. private String useraddress;
  12. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/236281
推荐阅读
相关标签
  

闽ICP备14008679号