해결된 질문
작성
·
515
0
답변 3
0
예제와 Package명만 다르고 그대로 실습했던 파일입니다.
여기서 AOP를 사용하는 메소드별 시간측정하는 메소드인
TimeTraceAop.java 가 주석처리 되어있고,
SpringConfig.java 에서
// @Bean
// public TimeTraceAop timeTraceAop() {
// return new TimeTraceAop();
// }
해당 부분을 사용하지 않도록 하였습니다.
https://drive.google.com/file/d/1Wy3KoElrnRFd4GIverdi0MwAWfScwGrt/view?usp=sharing
실행방법 : Intellij IDE에서, SpaceSpringApplication 실행
실행시 콘솔 로그에
memberService = class space.spacespring.service.MemberService$$EnhancerBySpringCGLIB$$
해당 부분이 AOP를 사용할때 나온다고 강의에서 말씀해 주셨는데,
AOP 관련 부분을 제거한 뒤(build 파일 제거 후 리빌드) 에도 EnhancerBySpring~ 문구가 나옵니다 .
0
Build 폴더를 삭제하고 실행해보고,
Gradle의 clean 도 해보았는데
~~package.service.MemberService$$EnhancerBySpringCGLIB$$9a4bda50
이런식으로 찍히는걸 확인할 수 있었습니다.
조금 더 상세히 살펴볼 수 있게 아래 참고하셔서 프로젝트 남겨주실 수 있으실까요?
---
전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.
구글 드라이브 업로드 방법은 다음을 참고해주세요.
https://bit.ly/3fX6ygx
주의: 업로드시 권한 문제 꼭 확인해주세요
추가로 다음 내용도 코멘트 부탁드립니다.
1. 실행 방법을 알려주세요.
2. 어떻게 문제를 확인할 수 있는지 자세한 설명을 남겨주세요.
감사합니다
확인해보니 MemberService 내 @Transactional 애노테이션이 붙어있네요.
해당 애노테이션은 AOP를 활용해 트랜잭션을 동작시키므로 프록시 객체가 생성됩니다.
해당 애노테이션을 제거하시고 실행해보시면 프록시 객체가 아닌 일반 객체임을 확인하실 수 있습니다.