this 질문드립니다.
539
작성한 질문수 22
안녕하세요. 강의를 듣다가 궁금증이 생겨 질문드립니다.
이전 강의에서 프록시가 생성되는 과정을 보면
1. @Aspect 애노테이션을 클래스에 선언하고 클래스 안에 @Around로 포인트컷 표현식을 정의하고, @Around가 붙은 메서드로 이제 어드바이스를 정의
2. 스프링 애플리케이션이 초기화 될 때 자동프록시생성기가 @Aspect가 붙은 클래스를 다 찾아서 어드바이저생성
3. 이제 스프링 빈으로 등록될 객체들을 하나씩 불러와서 어드바이저의 포인트컷을 통해 프록시 대상인지 아닌지 확인해서 프록시를 생성하여 스프링 빈으로 등록
으로 이해를 하였는데요.
이번 강의에서 @Aspect 클래스 안에 메서드에
@Around("this(hello.aop.member.MemberService)")
이런식으로 this에 타입을 정의하는데, 초기화 시점에 스프링 빈 대상 객체들을 this 포인트컷 표현식으로 프록시 대상 객체인지 아닌지 확인할 수가 없지 않나요? 왜냐하면 아직 프록시가 생성되기 전인데 어떻게 this(프록시 객체)을 판단할수가 있는건가요?
아니면 모든 빈을 일단 프록시로 만들고 실행시점에 판단하는 방식인가요?
감사합니다.
답변 1
5
안녕하세요. 연어포케님
저도 이 부분은 정확히는 모르겠지만 일단 해당 타입의 빈을 프록시로 만들고 실행시점에 판단할 것 같습니다.
혹시 정확히 아시는 분 있으면 답변 부탁드려요.
감사합니다.
SpringBoot 4.0.6 버전에서 PackageLogTracePostProcessor exception
0
39
2
어드바이스 순서 디폴트 기준이 궁금합니다.
0
67
1
AspectV1 예제를 @Configuration 수동 등록으로도 가능한가요?
0
96
2
구체 클래스를 상속받아 확장한 형태도 클래스패턴/데코레이터 패턴이라고 칭하나요?
0
67
1
TraceTemplate 을 미리 빈으로 등록해서 사용할때 이렇게 설정하는게 맞는건가요?
0
60
1
Decorator 에서 추상메서드로 뺄때 질문 있습니다.
0
59
1
대상 클래스에 기본 생성자가 없을 때
0
80
1
스프링 부트 버전 4.0 aop 의존성 명칭 변경
1
392
2
final 키워드 사용 관련 질문
0
82
1
안녕하세요
0
72
1
ThradLocal 실무 사례
0
103
2
실무에서의 동시성 문제
0
70
1
로그 등 부가 기능에 대한 테스트코드
0
56
1
ProceedingJoinPoint와 MethodInvocation에 대하여
0
73
1
실무 멀티스레딩에 대한 궁금증
0
75
1
안녕하세요 질문있습니다
0
47
1
AspectV3 aop 실행 순서 문의 드립니다
0
43
1
MDC vs AOP 중에 고민중입니다.
0
82
1
순환참조
0
165
2
this를 단독으로 사용할때랑 파라미터 바인딩 할때 차이
0
83
1
빈 후처리에 등록 질문 있습니다.
0
84
1
AppConfig 설정하는 설명중에 이해가 안되는게 있습니다.
0
97
1
ThreadLocal을 지역변수로 선언하면 remove가 필요할까요?
0
121
2
@Aspect 어노테이션으로 생성된 Advisor의 Bean 저장 여부
0
75
1





