작성
·
249
1
정확히 어느 시점에 실제 MyLogger빈을 찾아서 넣어주는 지 보려고 콘솔에 찍어봤는데 setRequestURL()과 logic()을 호출하여도 가짜 프록시 객체가 myLogger에 들어있는 데 제가 뭔가 잘못 이해한 것 인가요?
코드
String requsetURL = request.getRequestURL().toString(); //고객이 어떤 url로 요청했는지 알 수 있음
System.out.println("myLogger = " + myLogger.getClass()); //이때는 가짜 객체 들어가 있음(프록시에 의해서)
myLogger.setRequestURL(requsetURL);
System.out.println("myLogger = " + myLogger.getClass());
myLogger.log("controller test");
System.out.println("myLogger = " + myLogger.getClass());
logDemoService.logic("testId");
결과
myLogger = class hello.core.common.MyLogger$$EnhancerBySpringCGLIB$$ab757f1f
[cd224578-38c2-4e3c-9326-ef6d0be4491d] request scope message bean create:hello.core.common.MyLogger@2210fc0f
myLogger = class hello.core.common.MyLogger$$EnhancerBySpringCGLIB$$ab757f1f
[cd224578-38c2-4e3c-9326-ef6d0be4491d][http://localhost:8080/log-demo]controller test
myLogger = class hello.core.common.MyLogger$$EnhancerBySpringCGLIB$$ab757f1f
[cd224578-38c2-4e3c-9326-ef6d0be4491d][http://localhost:8080/log-demo]service id = testId
[cd224578-38c2-4e3c-9326-ef6d0be4491d] request scope message bean close:hello.core.common.MyLogger@2210fc0f