작성
·
105
0
안녕하세요
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
섹션 3 ) 회원 관리 예제 - 백엔드 개발
강의 내용을 따라 하던 중
Optional , NullpointException 관련 Error 가 났는데
오류의 원인을 찾을 수 없어 문의글 남깁니다
강사님이 작성한 코드와 다른점이 없는것같은데 뭐가 문제일까요??
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
codesszz101님, 말씀하신 Optional
, NullPointerException
관련 오류를 해결하시려면 각 메소드의 리턴값이 null
인 경우를 안전하게 처리하는 방법을 고려해야 합니다. Spring Data의 Optional
을 사용하는 경우, Optional
의 isPresent()
메소드를 통해 값의 존재 여부를 확인하거나, ifPresent()
등을 활용하여 null
이 아닐 때만 로직을 수행하도록 안전하게 코딩하는 것이 중요합니다.
또한, Kotlin 기반의 레포지토리에서 null
가능성을 다룰 때는, null
이 허용되는 경우에는 함수의 리턴 타입을 ?
를 붙여 null
을 허용하도록 명시하여야 하며, 이러한 Kotlin의 null
관련 제약 조건을 런타임에서 확인하려면 kotlin-reflect
JAR를 프로젝트에 포함하여야 한다는 점을 참고하세요.
Spring Data JPA에서는 Java 8의 Optional
을 사용해 값의 부재 가능성을 명시하며, 이를 활용하여 값이 존재하지 않을 때는 Optional.empty
를 리턴하도록 할 수 있습니다. 또한, Spring Framework의 @NonNull
과 @Nullable
어노테이션을 사용하여 메소드 파라미터나 반환값의 null
가능성을 명시할 수 있습니다. @NonNullApi
를 패키지 레벨에 적용하면, 기본적으로 메소드의 파라미터 및 리턴 값에 null
이 허용되지 않으며, 개별 메소드에 대해 @Nullable
을 사용하여 null
을 허용하도록 설정할 수 있습니다.
가능하다면 실제 오류 메시지나 자세한 코드 상황을 제공해주시면 보다 구체적인 해결 방안을 제안드리는 데 도움이 될 것입니다.