You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Lombok初始化嵌套Bean时出现空指针异常的问题求助

Lombok初始化嵌套Bean时出现空指针异常的问题求助

嘿,各位大佬,我最近在尝试用Lombok处理嵌套的Bean类时遇到了空指针异常,折腾了好半天没搞定,来求助啦!

情况是这样的:我有一个父Bean类StudentData,里面嵌套了PersonalInfo这个子Bean类,两个类都加了Lombok的@Getter、@Setter和@ToString注解。但每次在JUnit里尝试给嵌套的PersonalInfo设置属性时,都会抛出空指针异常。

先贴一下我的代码:

父Bean类 StudentData

import java.io.Serializable;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.springframework.data.annotation.Id;
import com.fasterxml.jackson.annotation.JsonIgnore;

@Getter
@Setter
@ToString
public class StudentData implements Serializable {

    private static final long serialVersionUID = -432700976003393778L;

    @Id
    @JsonIgnore
    private String id;

    PersonalInfo personalInfo;
    
    @JsonIgnore
    private String grade;
    
    @JsonIgnore
    private String attendance;
}

嵌套Bean类 PersonalInfo

import java.io.Serializable;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

@Getter
@Setter
@ToString
public class PersonalInfo implements Serializable {

    private static final long serialVersionUID = -432700976003393778L;
    
    private String firstName;
    private String lastName;
    private String ssn;
    private String address;
    private String zipCode;
}

报错信息

当我在JUnit里尝试执行类似studentData.getPersonalInfo().setFirstName("张三")这样的代码时,会抛出以下异常:

Cannot invoke "com.test.student.dao.PersonalInfo.setFirstName(String)" because the return value of "com.test.student.dao.StudentData.getPersonalInfo()" is null

我试过了好几种Lombok的注解,但都没解决这个问题,有没有大佬能指点一下我哪里错了,或者该用什么方法来正确初始化这个嵌套的Bean对象呀?

备注:内容来源于stack exchange,提问作者hell_storm2004

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 17:54:32