티스토리 뷰
AOP 용어는 보고 또 봐도 낯설기만하다.
이 기회에 AOP 용어를 정리해보자!
조인 포인트(Join point)
- 어드바이스가 적용될 수 있는 위치(메서드 실행 지점, 생성자 호출, 필드 값 접근, static 메서드 접근 등)
- 조인 포인트는 추상적인 개념이다. AOP를 적용할 수 있는 모든 지점이라 생각하면 된다.
- 스프링 AOP는 프록시 방식을 사용하므로 조인 포인트는 항상 메소드 실행 지점으로 제한된다.
포인트컷(Pointcut)
- 조인 포인트 중에서 어드바이스가 적용될 위치를 선별하는 기능
- 주로 AspectJ 표현식을 사용해서 지정
- 프록시를 사용하는 스프링 AOP는 메서드 실행 지점만 포인트컷으로 선별 가능
타켓(Target)
- 어드바이스를 받는 객체
어드바이스(Advice)
- 부가 기능
- 특정 조인 포인트에서 Aspect에 의해 취해지는 조치
- Around(주변), Before(전), After(후)와 같은 다양한 종류의 어드바이스가 있음
애스펙트(Aspect)
@Aspect
- 어드바이스 + 포인트컷을 모듈화 한 것
- 여러 어드바이스와 포인트 컷이 함께 존재
어드바이저(Advisor)
- 하나의 어드바이스와 하나의 포인트 컷으로 구성
- 스프링 AOP에서만 사용되는 특별한 용어
위빙(Weaving)
- 포인트컷으로 결정한 타켓의 조인 포인트에 어드바이스를 적용하는 것
- 위빙을 통해 핵심 기능 코드에 영향을 주지 않고 부가 기능을 추가 할 수 있음
- AOP 적용을 위해 애스펙트를 객체에 연결한 상태
- 컴파일 타임(AspectJ compiler)
- 로드 타임
- 런타임, 스프링 AOP는 런타임, 프록시 방식
AOP 프록시
- AOP 기능을 구현하기 위해 만든 프록시 객체, 스프링에서 AOP 프록시는 JDK 동적 프록시 또는 CGLIB 프록시이다.
Reference
김영한. 스프링 핵심 원리 - 고급편. 인프런.
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B3%A0%EA%B8%89%ED%8E%B8#
'Spring' 카테고리의 다른 글
[Spring] AOP Pointcut execution (0) | 2022.05.31 |
---|---|
[Spring] Advice 종류 (0) | 2022.05.29 |
[Spring] AOP는 어떻게 적용되는걸까? (0) | 2022.05.24 |
[Spring] @Aspect AOP (0) | 2022.05.23 |
[Spring] 스프링이 제공하는 빈 후처리기 (0) | 2022.05.22 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 스프링부트
- 자료구조
- 코틀린
- kotlin
- Real MySQL
- MySQL
- 스프링
- 김영한
- spring boot
- mysql 8.0
- 인프런
- 노마드코더
- 파이썬
- 북클럽
- 정렬
- webflux
- 릿코드
- 문자열
- leetcode
- 코테
- 노마드
- 구현
- 알고리즘
- 스프링 부트
- 백준
- Spring
- Algorithm
- 데이터베이스
- 리팩토링
- 그리디
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함