lombok包

java是一门面向对象的程序语言,所以我们会经常提到封装、继承和多态。

无论web项目还是其他,我们都会把一些事物抽取成对象,然后封装起来。我们以前会这么去写一个pojo类:

public class Person implements java.io.Serializable {

/**

  * 姓名.

*/

  private Stringname;

  /**

  * 年龄.

*/

  private Integerage;

  /**

  * 性别.

*/

  private Charactersex;

  public StringgetName() {

return name;

  }

public void setName(String name) {

this.name = name;

  }

public IntegergetAge() {

return age;

  }

public void setAge(Integer age) {

this.age = age;

  }

public CharactergetSex() {

return sex;

  }

public void setSex(Character sex) {

this.sex = sex;

  }

@Overridepublic String toString() {

return "Person{" + "name='" + name + '\'' + ", age=" + age + ", sex=" + sex + '}';

}

}

虽然现在有各种开发工具,如eclipse/inteljidea帮助我们自动生成setter和getter方法,但是有没有更简单的方式呢?

答案是肯定的——lombok包(官方地址)。

用了lombok之后的代码:

@Setter

@Getter

@ToString

public class Person implements java.io.Serializable {

/** 

* 姓名.

*/ 

private Stringname; 

/** 

* 年龄.

*/ 

private Integerage; 

/** 

* 性别.

*/ 

private Charactersex;

}

在使用之前要配置两个东西:

1.pom依赖

   

    org.projectlombok

    lombok

2.开发工具的lombok插件,如果没有这个会过不了编译,直接报红。


常用lombok相关注解:

@Data   :注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法

@Setter:注解在属性上;为属性提供 setting 方法

@Getter:注解在属性上;为属性提供 getting 方法

@Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象

@NoArgsConstructor:注解在类上;为类提供一个无参的构造方法

@AllArgsConstructor:注解在类上;为类提供一个全参的构造方法

具体参见:https://projectlombok.org/features/all

另:网上说lombok还做了好多事情,也有一些弊端,待有时间研究一下!

你可能感兴趣的:(lombok包)