celling refresh attempt: org.springframework.beans.factory.BeanCreationException:

Yunny.Log ·2023년 1월 3일
0

Debugging

목록 보기
57/69
post-thumbnail

celling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'handlerExceptionResolver' defined in class path resource [org/springframework/web/servlet/config/annotation/DelegatingWebMvcConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.servlet.HandlerExceptionResolver]: Factory method 'handlerExceptionResolver' threw exception; nested exception is java.lang.IllegalStateException: Ambiguous @ExceptionHandler method mapped for [class eci.server.ItemModule.exception.member.sign.MemberEmailAlreadyExistsException]: {public eci.server.ItemModule.dto.response.Response eci.server.advice.ExceptionAdvice.MemberEmailAlreadyExistsException(eci.server.ItemModule.exception.member.sign.MemberEmailAlreadyExistsException), public eci.server.ItemModule.dto.response.Response eci.server.advice.ExceptionAdvice.memberEmailAlreadyExistsException(eci.server.ItemModule.exception.member.sign.MemberEmailAlreadyExistsException)}

  • 위의 긴 에러로그에서 핵심은 아래 부분이다.

Factory method 'handlerExceptionResolver' threw exception; nested exception is java.lang.IllegalStateException: Ambiguous @ExceptionHandler method mapped for [class eci.server.ItemModule.exception.member.sign.MemberEmailAlreadyExistsException]

  • 해당 exception을 exceptionhandler 에서 처리해주려고 보는데 어떤 에러를 선택해야할 지 애매모호하다는 뜻이다.
  • 즉 내가 exception advice 내에 같은 에러를 처리하는 메소드를 두개 이상 작성해놨을 가능성이 매우 높다는 것이다.
  • 실제로도 MemberEmailAlreadyExistsException 이 두개 이상 선언돼있었다.
  • 따라서 하나를 제거해줌으로써 에러를 해결했다.

0개의 댓글