`
朱秋旭
  • 浏览: 230653 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Lombok 之 Getter&Setter

阅读更多

LomBok 的相关目录已经整理出来,希望大家可以根据需求自助学习,好工具要大家分享:

@Cleanup     

@Getter, @Setter

@ToString

@EqualsAndHashCode

@Constructor

@Data & @Value

@SneakyThrows

@Synchronized

@Getter(lazy=true)

@Log

 

Lombok中有两个annotation, @Getter, @Setter,这两个annotation完全可以达到见名知意的效果,老规矩上代码,个人觉得知识点只有在代码中演示,然后再填以文字的描述才能让话语变得强有力。

 

想必你一定为写这样的代码而苦恼:

public class GetterSetterExample {
  /**
   * Age of the person. Water is wet.
   */
  private int age = 10;

  /**
   * Name of the person.
   */
  private String name;
  
  @Override public String toString() {
    return String.format("%s (age: %d)", name, age);
  }
  
  /**
   * Age of the person. Water is wet.
   *
   * @return The current value of this person's age. Circles are round.
   */
  public int getAge() {
    return age;
  }
  
  /**
   * Age of the person. Water is wet.
   *
   * @param age New value for this person's age. Sky is blue.
   */
  public void setAge(int age) {
    this.age = age;
  }
  
  /**
   * Changes the name of this person.
   *
   * @param name The new value.
   */
  protected void setName(String name) {
    this.name = name;
  }
}

 那么这两个annotation到底能干什么呢?

import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;

public class GetterSetterExample {
  /**
   * Age of the person. Water is wet.
   * 
   * @param age New value for this person's age. Sky is blue.
   * @return The current value of this person's age. Circles are round.
   */
  @Getter @Setter private int age = 10;
  
  /**
   * Name of the person.
   * -- SETTER --
   * Changes the name of this person.
   * 
   * @param name The new value.
   */
  @Setter(AccessLevel.PROTECTED) private String name;
  
  @Override public String toString() {
    return String.format("%s (age: %d)", name, age);
  }
}

 小伙伴们有没有瞬间惊呆了的感觉,是的,你没有看错, 就是这么简单的用法,让代码变得简洁明了。这时候一定有朋友会提出,我用IDE很快就能生成这些代码啊,可是如果使用了Lombok会让你的代码更加简洁,清晰,可读,这是任何能自动生成get,set方法的IDE所做不到的。

 

如果没有设置AccessLevel属性,则生成的默认方法为public的。如果想要使get,set方法不生效,则可以使用一个特殊的AccessLevel 选项 “NONE”。

介绍几个参数的可选值:

Lombok.accessors.chain=[true|false]  

如果当前值为true, set方法返回值不会void, 为this指针

Lombok.accessors.fluent=[true|false]

如果当前值为true,则生成的方法名会和定义的变量名一致的

Lombok.accessors.prefix+=

设置生成的方法的前缀,例如设置当前值为m,则得到的方法不是getName,而是mName;

Lombok.accessors.NoIsPrefix=[true|false]

如果设置为true,则所有的Boolean方法不再是isXXX,而是getXXX();

 

同样给大家一点小的建议:

在使用的时候如果当前bean中包括某个方法,恰好要和生成的方法名字一样,则Lombok不会再处理生成,无论是不是两个函数的方法是重载。例如:如果类中包含String get(String anme), 则不会再为bean生成一个新的bean。

 

 

分享到:
评论

相关推荐

    IDEA中 Getter、Setter 注解不起作用的问题如何解决

    然而,有时在使用Lombok库进行开发时,可能会遇到IDEA中的Getter和Setter注解不起作用的问题。Lombok是一个能帮助开发者消除Java类中大量重复的getter和setter方法的库,通过注解的方式简化代码。当IDEA无法识别这些...

    IntelliJ IDEA快速创建getter和setter方法

    除了 IntelliJ IDEA 提供的快速创建功能外,开发者还可以使用 Lombok 库来简化 getter 和 setter 方法的编写。Lombok 库是一个 Java 库,它提供了许多有用的注解来简化 Java 代码的编写。使用 Lombok 库,开发者可以...

    eclipse小工具 getter和setter 自动添加中文的注释

    此外,一些插件如`Lombok`能完全自动化getter和setter的生成,甚至包括构造函数、equals()、hashCode()等方法,且支持自定义注释。 7. **代码规范与团队协作** 当团队协作时,确保所有成员对代码模板达成一致,...

    java简便方法引入getter/setter/tostring等方法

    java 的eclipse或idea等 定义变量时 直接引入lombok.jar包 在类外部 引入@AllArgsConstructor @NoArgsConstructor @Data 简便方法引入getter/setter/tostring等方法

    lombok v1.16.6和v1.16.20

    lombok.jar是v1.16.20,新建了一个Class类,然后在其中设置了几个字段,最后还需要花费很多时间来建立getter和setter方法 lombok项目的产生就是为了省去我们手动创建getter和setter方法的麻烦,它能够在我们编译源码...

    lombok的jar包.zip

    Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。出现的神奇就是在源码中没有getter和setter方法,但是在编译生成的字节码文件中有getter和setter方法。...

    IDEA插件-lombok-plugin-0.28-2019.3.rar

    Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。出现的神奇就是在源码中没有getter和setter方法,但是在编译生成的字节码文件中有getter和setter方法。...

    lombok.jar包 Lombok帮助我们生成这些 getter setter 全参构造无参构造equals hashcode

    //使用Lombok帮助我们生成这些内容 getter setter 全参构造无参构造equals hashcode //Lombok 使用步骤 // 1 检查idea是否已经安装 Lombok // 2 检查是否勾选了 enable annotation processer // 3 导入 Lombok依赖 /...

    lombok-plugin-0.28-2018.2.zip

    Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。出现的神奇就是在源码中没有getter和setter方法,但是在编译生成的字节码文件中有getter和setter方法。...

    lombok-plugin-0.23-IC-2017.3.zip

    Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。出现的神奇就是在源码中没有getter和setter方法,但是在编译生成的字节码文件中有getter和setter方法。...

    lombok.zip(lombok.jar)

    Lombok是一款非常受欢迎的Java库,它通过提供一系列的注解来简化Java代码,从而减少开发者在编写getter、setter、构造函数、equals()、hashCode()和toString()等常见方法时的工作量。Lombok.jar文件是这个库的可执行...

    lombok的jar包

    不需要再写getter、setter或equals方法,只要有一个注解,你的类就有一个功能齐全的构建器、自动记录变量等等。 Lombok常用注解编辑 播报 Data 整合了Getter、Setter、ToString、EqualsAndHashCode、...

    lombok插件

    标签中提到了“lombok getter setter”,这是Lombok的核心功能之一。通过在类的字段上使用`@Getter`和`@Setter`注解,Lombok会在编译时自动生成对应的getter和setter方法,避免了手动编写这些重复代码的麻烦。同时,...

    lombok jar包

    描述中提到"Idea中避免了在实体类中手写getter,setter方法",这正是Lombok的核心功能之一。在Java中,数据类经常需要为每个字段提供getter和setter方法,以便于访问和修改属性值。使用Lombok,只需在类或字段上添加...

    lombok8.rar

    1. `@Data`:这是Lombok最常用的注解之一,它可以为一个类自动生成所有的getter和setter,包括所有非静态、非transient的字段。此外,如果类没有明确的构造函数,它还会生成一个默认的无参构造函数。 2. `@...

    lombok-1.16.20.jar

    Lombok的1.16.20版本是它的一个历史版本,提供了许多便利的功能,使得开发者不必手动编写大量的getter、setter、构造函数以及equals()、hashCode()和toString()等常规方法。 Lombok的核心在于它的注解,这些注解...

    lombok-plugin

    1. `@Data`:这个注解是Lombok最常用的注解之一,它会为类的所有非静态、非 transient 的字段生成对应的getter和setter方法,同时也包含构造函数、equals()、hashCode()以及toString()方法。 2. `@...

    lombok-1.18.12.zip

    1. `@Data`:这是 Lombok 最常用的注解之一,可以为类生成所有的基本 getter 和 setter,同时还会添加 equals、hashCode 和 toString 方法。如果需要排除某些字段,可以使用 `@AndHashCode(exclude = {...})` 和 `@...

    lombok.jar及eclipse两种安装方式

    它通过被集成到IDE中,使得开发者可以在编写Java类时直接使用Lombok的注解,如`@Data`、`@Setter`、`@Getter`等,这些注解会自动生成相应的 getter 和 setter 方法,大大减少了手动编写的代码量。 **Lombok的安装...

    lombok 插件,用于android studio,实现代码自动生成

    Lombok是一款非常受欢迎的Java库,它通过注解的方式简化了Java对象的创建和维护,大大减少了冗余的getter、setter、构造函数等代码。在Android Studio中使用Lombok插件,开发者可以更加高效地编写代码,提升开发效率...

Global site tag (gtag.js) - Google Analytics