普通对象中,往往有着很多的属性,lombok带来了很多注解,可以简化代码开发,减少了大量set,get方法的书写。
在pom.xml文件中,添加以下依赖坐标:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
此时,刷新maven依赖出现异常:Unresolved dependency: 'org.projectlombok:lombok:jar:unknown'。
解决思考:
在idea -> settings -> plugins中检查发现已安装,排除该问题
后续添加版本号后,lombok导入成功(网上很多坐标导入没有引入版本号,需注意)
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<optional>true</optional>
</dependency>
在无版本号时,选择添加<parent>,指定了Spring Boot启动器的父项目后也可以加载lombok成功,具体原因猜测是spring-boot-starter-parent中存在lombok,会自动匹配版本号
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.4.RELEASE</version>
</parent>
public class Student {
private String name;
private Long age;
}
public class JSONParseObject {
public static void main(String[] args) {
String st = new Student().toString();
System.out.println("student对象为:" + st);
}
}
当同时存在@NoArgsConstructor、@AllArgsConstructor时,new新建对象时,会自动匹配
public class JSONParseObject {
public static void main(String[] args) {
String st1 = new Student().toString();
System.out.println("student1对象为:" + st1);
Student st2 = new Student("名字", 23);
System.out.println("student2对象为:" + st2);
}
}
当存在@Data注解时,输出结果为:
student1对象为:Student(name=null, age=0)
student2对象为:Student(name=名字, age=23)