Error creating bean with name 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration'

greenTea·2024년 3월 6일

문제 발생

혼자 프로젝트를 진행 하던 도중 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를 통해 로깅을 남기는 코드를 진행하던 도중 발생하였는데 문제 해결 과정은 아래와 같습니다.

해결 과정

1. 의존성 확인

처음에는 스프링 AOP를 사용하기 위해 필요한 의존성이 모두 추가되었는지를 확인하였습니다. build.gradle 파일에 spring-boot-starter-aop가 포함되어 있는 것을 확인하였고 의존성 문제는 아님을 확인하였습니다.

2. AOP 설정 확인

포인트컷에 문제가 있다고 생각하여 제가 작성한 코드를 확인하였습니다.
포인트 컷 표현식을 보니 경로가 잘못 되어있다는 것을 확인할 수 있었습니다.(controller인데 controlerl을 빼먹었습니다...)

문제 해결

@Around의 경로 표현식을 알맞게 다시 고쳐주니 문제가 해결 되었습니다.

처음에는 Transaction이라는 글만 보고 트랜잭션 문제로 생각하고 트랜잭션만 찾아보고 있었는데 인프런 - AOP 적용 중, 오류 해당 글을 보고 같은 문제라 생각하였고 찾아보니 정말로 경로 표현식이 잘못 되어 있다는 것을 확인 하였습니다.

참고 자료

인프런 - AOP 적용 중, 오류

profile
greenTea입니다.

0개의 댓글