AOP 를 제 나름대로 해석해봤는데요
일단 A클래스상에서 어노테이션을 부여해놓고 컴파일을 진행하면 런타임 구간에서
A클래스의 멤버가 변경되어 새로 생기는 객체 즉 프록시 객체가 생성되는것으로 이해를했는데,
힙공간에 이미 A 객체가있는상태에서 프록시객체 B가 생겨나면 힙공간에서 A 객체를 상속받는건지
아니면 별도의 공간에 프록시객체 B 가 생기는 건지 궁금하고
프로시객체까지 다 생긴상태에서 (실행중)
만약 고객( 사용자가) 특정 요청을 보내서 ( 회원가입 이라던지 다양한 요청)
스프링은 리플렉션을 통해 프록시객체 B에서 필요한 어노테이션만 골라내고,
그 중 필요한 메서드만 또 골라내서 사용자의 요청을 처리한다.
라는 개념이 맞을까요?
말을 ㅈㄴ 병신같이 써놨네
스프링 빈의 라이프사이클에대해 공부하면 해당 의문이 풀립니다 - dc
우리가 실제로 호출하는게 프록시에옹 - dc
@ㅇㅇ 그럼 프로시객체는 생성형태가 상속처럼 있는걸까요? 아니면 케이스마다 다를까요?
@글쓴 백갤러(121.164) 상속? 은 아닌거같고 gclib였나 그걸로 만드는건데 빈라이프사이클 딱 보고 질문다시정리해보세영 - dc
@ㅇㅇ 넵 감사합니다
런타임에 CGLIB 프록시로 동적으로 상속된 상속된 객체를 생성합니다 대충 람다 객체처럼 $$xxxService 이런식으로 생성해서 특정 관심 로직을 전후로 실행합니다 빈팩토리에 넣을때 AOP 설정해놓은 모든 객체를 찾아서 프록시로 감싸서 저장해요. 빈에서 꺼낼 때 이미 해당 프록시로 감싸져있다고 생각하면 됩니다.