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