혼자 프로젝트를 진행 하던 도중 Error creating bean with name 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration'라는 에러가 발생하였습니다.
찾아본 결과 저의 경우에는 aop 경로 설정 오류였습니다.
@Around("execution(* com.hello.member.controler.*(..))"
public Object check(ProceedingJoinPoint joinPoint) throws Throwable {
log.info("request 발생");
return joinPoint.proceed();
}
@Around를 통해 로깅을 남기는 코드를 진행하던 도중 발생하였는데 문제 해결 과정은 아래와 같습니다.
처음에는 스프링 AOP를 사용하기 위해 필요한 의존성이 모두 추가되었는지를 확인하였습니다. build.gradle 파일에 spring-boot-starter-aop가 포함되어 있는 것을 확인하였고 의존성 문제는 아님을 확인하였습니다.
포인트컷에 문제가 있다고 생각하여 제가 작성한 코드를 확인하였습니다.
포인트 컷 표현식을 보니 경로가 잘못 되어있다는 것을 확인할 수 있었습니다.(controller인데 controler로 l을 빼먹었습니다...)
@Around의 경로 표현식을 알맞게 다시 고쳐주니 문제가 해결 되었습니다.
처음에는 Transaction이라는 글만 보고 트랜잭션 문제로 생각하고 트랜잭션만 찾아보고 있었는데 인프런 - AOP 적용 중, 오류 해당 글을 보고 같은 문제라 생각하였고 찾아보니 정말로 경로 표현식이 잘못 되어 있다는 것을 확인 하였습니다.