导入
开发POJO类
让我们学习如何创建普通的Java对象(POJO)。
创建POJO
在我们的 todo 应用中,让我们在 io/educative/domains 包下创建两个基本的POJO类:Todo 和 TodoType,包含一些相关属性,并提供对应的 getter 和 setter 方法。
...
Todo App class diagram for POJOs
No configuration found for ID: 18ac6e8f077fbecc60ec12ec706e24c6e4397ae4984e6d5c604b63067ccb1335
使用 Lombok 消除代码冗余
为了减少代码重复,我们可以使用 #key# Lombok 库:这是一个 Java 库,通过提供多种注解来减少常见的样板代码,例如 getter 和 setter 方法。#key# 它提供了诸如 @Data 这样的注解,可在编译时为每个属性自动生成 getter 和 setter 方法,同时生成 toString、equals 和 hashCode 方法。此外,它还提供了 @Getter、@Setter、@ToString 和 @EqualsAndHashCode 等注解以实现类似功能。接下来,我们为现有项目添加 Lombok 支持。
配置
1plugins { 2 id 'org.springframework.boot' version '2.6.2' 3 id 'io.spring.dependency-management' version '1.0.11.RELEASE' 4 id 'java' 5} 6 7group = 'io.educative' 8version = '0.0.1-SNAPSHOT' 9sourceCompatibility = '1.8' 10 11repositories { 12 mavenCentral() 13} 14 15dependencies { 16 implementation 'org.springframework.boot:spring-boot-starter-web' 17 implementation 'org.springframework.boot:spring-boot-starter-data-jpa' 18 runtimeOnly 'com.h2database:h2' 19 compileOnly 'org.projectlombok:lombok' 20 annotationProcessor 'org.projectlombok:lombok' 21 testImplementation 'org.springframework.boot:spring-boot-starter-test' 22} 23 24test { 25 useJUnitPlatform() 26}
更新 POJO 类
现在我们可以移除手动编写的 getter 和 setter 方法,在 POJO 类中使用 @Data 注解。
1package io.educative.domains; 2 3import lombok.Data; 4import java.util.Date; 5 6@Data 7public class Todo { 8 9 private long id; 10 11 private String title; 12 private String description; 13 private boolean done; 14 private Date dateCreated; 15 private Date dueDate; 16 private Date dateDone; 17 private Date lastUpdated; 18 19 private TodoType type; 20 21}
在本课中,我们学习了 POJO 的概念,并创建了包含若干属性的 Todo 和 TodoType 类。随后,我们在这些 POJO 中使用了 @Data 注解,从而省去了手动编写 getter 和 setter 方法的需要。