해결된 질문
작성
·
295
0
답변 1
2
안녕하세요. Young.K님
1. 자동 프록시 생성기가 빈 저장소에 있는 어드바이저 빈들을 조회하기 전에 모든 @Aspect 빈을 조회해서 어드바이저를 생성하여 등록하는 것은 이해가 됐습니다. 근데 그렇게 생성된 어드바이저를 왜 빈 저장소에 넣지 않고 굳이 @Aspect 어드바이저 빌더 내부 저장소에서 따로 관리를 하는 것인지 궁금합니다.
-> 스프링 빈으로 등록하게 되면 기존 빈과 충돌할 수도 있고, 사용자가 해당 빈을 꺼낼 수도 있습니다. 그런데 사실 이 빈을 사용자가 꺼내서 사용할 일은 없지요. 스프링 입장에서는 스프링 빈에 등록해도 얻는 이점이 없기 때문에 빈으로 등록하지 않았을 것이라 생각합니다.
2. @Aspect 어드바이저 빌더 내부 저장소에 캐싱이 적용된다고 하셨는데 그렇다는 것은 하나의 @Aspect 빈에서 똑같은 어드바이저를 여러번 생성하는 경우가 발생한다고 이해가 됩니다. 예를 들어 어떤 경우에 캐시에 저장된 어드바이저를 반환하게 되는지 궁금합니다. 혹시나 @Aspect 어드바이저 빌더 내부 저장소의 어드바이저들은 영속성을 가지는 것인지 의문이 드네요.
-> AOP를 적용할 대상이 10개라면 처음에는 빌더를 통해서 어드바이저를 만들겠지만, 이후에는 이미 만들어진 어드바이저를 재활용하게 됩니다.
감사합니다.
답변 감사합니다!