lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具。
简单来说,比如我们新建了一个实体类,然后在其中写了几个字段,然后通常情况下我们需要手动去建立getter和setter方法以及构造方法等。
lombok的作用就是为了省去我们手动创建这些代码的麻烦,它能够在我们编译源码的时候自动帮我们生成这些方法,这样的代码就显得简洁干净。
1. 添加插件
图片.png2. 添加依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
Lombook在使用中主要靠注解起作用,下面是常用的一些注解及其作用:
1、@NonNull: 可以帮助我们避免空指针
2、@Cleanup: 自动帮我们调用close()方法
3、@Getter / @Setter: 自动生成Getter/Setter方法
4、@NoArgsConstructor: 自动生成无参数构造函数
5、@AllArgsConstructor: 自动生成全参数构造函数
6、@Data: 自动为所有字段添加@ToString, @EqualsAndHashCode, @Getter方法,为非final字段添加@Setter,和@RequiredArgsConstructor!
package com.example.questionlist2.dto;
import lombok.Data;
@Data
public class questionDto {
private String QuestionType;
private String keyword;
private String questionName;
private String dependOnQuestion;
private String book;
// 简洁了很多 省去了臃肿的代码块
// public String getQuestionType() {
// return QuestionType;
// }
//
// public void setQuestionType(String questionType) {
// QuestionType = questionType;
// }
//
// public String getKeyword() {
// return keyword;
// }
//
// public void setKeyword(String keyword) {
// this.keyword = keyword;
// }
//
// public String getQuestionName() {
// return questionName;
// }
//
// public void setQuestionName(String questionName) {
// this.questionName = questionName;
// }
//
// public String getDependOnQuestion() {
// return dependOnQuestion;
// }
//
// public void setDependOnQuestion(String dependOnQuestion) {
// this.dependOnQuestion = dependOnQuestion;
// }
//
// public String getBook() {
// return book;
// }
//
// public void setBook(String book) {
// this.book = book;
// }
public questionDto(String questionType, String keyword, String questionName, String dependOnQuestion, String book) {
this.QuestionType = questionType;
this.keyword = keyword;
this.questionName = questionName;
this.dependOnQuestion = dependOnQuestion;
this.book = book;
}
}
使用jar包运行应用
》mvn clean install -U -DskipTests
运行成功
》tarfget目录找到jar包
》java -jar questionlist2/0.0.1-SNAPSHOT/questionlist2-0.0.1-SNAPSHOT.jar
网友评论