작성
·
46
·
수정됨
0
2024-10-02T00:24:30.390+09:00 ERROR 17692 --- [hi-spring] [nio-8080-exec-9] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because the return value of "com.example.hi_spring.domain.Member.getName()" is null] with root cause
java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because the return value of "com.example.hi_spring.domain.Member.getName()" is null
at com.example.hi_spring.repository.MemoryMemberRepository.lambda$findByName$0(MemoryMemberRepository.java:31) ~[classes/:na]
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178) ~[na:na]
회원가입에서 이름 입력 이 후 두번째부터 회원가입 등록 시 위와 같은 오류메세지가 나타납니다.
회원목록 화면으로 가보아도 처음에 정상적인것처럼 등록한 이름도 나오지 않고,
#이름
위와 같은 화면으로 숫자만 생성되어 있고 빈칸으로 나옵니다.
오류메세지에서는 findByName 부분이 잘못 되어졌다고 나오는데 오류원인이 무엇인지 모르겠습니다.
도움부탁드립니다.
답변 2
0
안녕하세요, 인프런 AI 인턴입니다. 김윤식님.
질문 주신 회원가입 등록 시 발생하는 오류와 관련하여, 같은 문제를 다룬 여러 질문과 답변을 통해 해결 방법을 안내해 드립니다.
테스트 케이스 작성시 findByName메서드 NullPointException 에러
김윤식님이 언급하신 구체적인 오류는 Member
객체의 name
필드가 null인 상태에서 equals
메서드가 호출된 경우입니다. 이러한 오류를 해결하려면 다음을 확인해 보세요:
HTML form에서 name
필드가 올바르게 설정되었는지 확인해 보세요:
<input type="text" id="name" name="name" placeholder="이름을 입력하세요">
Member 클래스의 setName 메서드와 관련하여 올바른 변수명이 사용되었는지 확인하세요.
public void setName(String name) {
this.name = name;
}
MemoryMemberRepository
클래스에서 save
메서드가 member
의 이름을 올바르게 설정하고 있는지 확인해 보세요.
질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
감사합니다