Spring Boot Lombok岛不生成getter和setter吗?

ua4mk5z4  于 2022-12-29  发布在  Spring
关注(0)|答案(5)|浏览(166)

第一次使用lombok时,如果我没有理解错的话,lomboks getter和setter注解生成setter和getter方法,而不必编写代码,但是由于某种原因,每当我试图调用getter/setter方法时,我都会得到一个"undefined method"错误。
这是怎么回事?

import lombok.Getter;
import lombok.Setter;

public class Student {
    @Getter @Setter
    private String firstName;
    @Getter @Setter
    private String lastName;
    
    public Student(String firstName, String lastName) {
        super();
        this.setFirstName(firstName); // method undefined error here
        this.setLastName(lastName);   // method undefined error here
    }
}
tzxcd3kk

tzxcd3kk1#

你的代码应该这样工作,你有没有在EDI上安装lombok的插件?

lrl1mhuk

lrl1mhuk2#

我的IDE中没有安装Lombok。
安装它修复了问题。

6vl6ewon

6vl6ewon3#

另一个简单的方法是使用@Data注解,它为类中的每个属性生成getter和setter。

import lombok.Data;

@Data
public class Student {
    private String firstName;
    private String lastName;
    
    public Student(String firstName, String lastName) {
        super();
        this.setFirstName(firstName);
        this.setLastName(lastName);
    }
}

注意:导入并不使用它。它只是告诉程序某些东西 * 可能 * 被使用。如果你使用的是现代的Java IDE(VSCode或IntelliJ),类、注解等将在你使用它们时自动导入。

w8ntj3qf

w8ntj3qf4#

|| 启用注解处理:
|
〉@数据从Lombok岛到工作
|+〉在顶栏中单击“项目
|+〉点击“属性”
|+〉在左侧菜单栏中-〉后藤“Maven”
|+〉选择“注解处理”
|+〉[O]选中“启用项目特定设置”
|+〉点击“应用”

iih3973s

iih3973s5#

像这样尝试

@Getter
 @Setter
public class Student {
   
    private String firstName;
    
    private String lastName;
    
    public Student(String firstName, String lastName) {
    
        this.setFirstName(firstName); 
        this.setLastName(lastName);  
    }
}

相关问题