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依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
2.开发工具的lombok插件,如果没有这个会过不了编译,直接报红。
常用lombok相关注解:
@Data :注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
@Setter:注解在属性上;为属性提供 setting 方法
@Getter:注解在属性上;为属性提供 getting 方法
@Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
@NoArgsConstructor:注解在类上;为类提供一个无参的构造方法
@AllArgsConstructor:注解在类上;为类提供一个全参的构造方法
另:网上说lombok还做了好多事情,也有一些弊端,待有时间研究一下!