웹기술 개발자 되기/Spring
[Spring] AOP란
밥보92
2020. 4. 10. 21:51
반응형
서버 개발자에서 웹 기술 개발자가 되기 위한 스텝. Spring 이해하기 (2)
: Spring의 구조에서 Spring AOP 영역
Spring AOP이란?
- 관점지향 프로그래밍
- 코드의 반복을 피하기 위해 공통의 기능을 분리시켜 하나의 모듈로 관리
- 주요 로직은 변화하지만 공통 기능은 변화 없이 적용이 됨
주요개념
Aspect | 공통기능으로 관심사를 모듈화 한 것 |
Target | Aspect를 적용할 대상 |
Advice | 실질적으로 어떤 수행을 할지 정의가 된 모듈을 의미 |
Jointpoint | Advice가 적용될 수 있는 위치 |
Pointcut | Jointpoint의 상세 실행 위치로 실행 될 함수에 대한 위치를 execution으로 정의 |
실행흐름
- Proxy를 통해 간접적으로 접근
공통기능 (1) |
핵심기능 (2) |
공통기능 (3) |
1. Client가 Proxy를 통해 공통기능(1)을 실행
2. Proxy가 Target으로 가서 주요 로직인 핵심 기능(2)을 수행
3. 다시 Proxy가 공통기능(3)을 수행
반응형