티스토리 뷰
AOP (Aspect Oriented Programmint) 관점 지향 프로그래밍
횡단 관심사(cross-cutting concern)의 분리를 허용함으로써 모듈성을 증가시키는 것이 목적인 프로그래밍 패러다임이다.
여러 모듈에서 공통적으로 사용되는 기능을 분리하여 관리 할 수 있다.
횡단 관심사(cross-cutting concern)
핵심 기능(Core Concern)을 도와주는 부가적인 기능이다.
횡단 관심사를 분리하는 목적은 다양한 모듈에서 공통적으로 사용하기 때문에 중복 코드가 발생하며, 유지보수의 어려움이 있기 때문이다.
핵심 관심사(Core Concern)
비즈니스 로직을 포함하는 핵심 기능이다.
용어
Target
핵심 기능을 담고 있는 모듈로, 부가기능을 부여할 대상이 된다.
Advice
Target에 제공할 부가기능을 담고 있는 모듈이다.
JointPoint에 삽입되어 동작할 수 있는 코드이다.
실행시점('언제')과 동작('무엇')을 정의한다.
- Before Advice : Join Point 전에 수행되는 Advice
- After Advice : Join Point 실행 직후에 수행되는 Advice
- Around Advice : Join Point 실행 전후로 수행되는 Advice
- After Returning Advice : Join Point가 성공적으로 완료되었을 경우 수행되는 Advice
- After Throwing Advice : Join Point가 예외를 던지면서 종료 되었을 때 수행되는 Advice
Join Point
Advice가 적용될 수 있는 위치를 말한다.
Pointcut
Advice를 적용할 Target의 메서드를 선별하는 정규표현식이다.
Weaving
Pointcut에 의해서 결정된 Target의 Join Point에 Advice를 삽입하는 과정이다.
Aspect
AOP의 기본 모듈로, 부가 기능을 정의한 Advice와 Advice를 어디에 적용할 지 결정하는 Pointcut의 조합으로 구성된다.
//TODO
AOP 동작 원리 및 실습 작성
참고
'Framework > Spring' 카테고리의 다른 글
[JPA] View Table (0) | 2022.07.28 |
---|---|
[JPA] Composite Key (0) | 2022.07.22 |
[Spring] JUnit (0) | 2022.07.20 |
[Spring] EnvironmentPostProcessor (0) | 2022.07.13 |
[Spring] Spring Framework란 (0) | 2022.06.12 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 자동구성
- fail-safe
- Red-Black Tree
- spring boot
- 고정 세션
- java
- Hash
- Spring
- @conditional
- 추상클래스
- 티스토리챌린지
- Load Balancer
- 다중화
- 인터페이스
- syncronized
- HashMap
- Sticky Session
- fail-fast
- HashSet
- AutoConfiguration
- nginx
- nosql
- Caching
- object
- JPA
- 오블완
- Security
- 인스턴스변수
- 정적변수
- 로드 밸런서
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함