반응형
1. AOP(aspect oriented programming)
- 관점 지향 프로그래밍
- 공통된 부가기능을 따로 떼어두고 사용
- 기능을 핵심 로직과 공통 부가로직으로 구분
- 코드 밖에서 설정
- OOP의 기본단위는 Class 라면, AOP의 기본단위는 Aspect
- 예시 : 로그인 인증, 로깅, 트랜잭션 처리
2. AOP 구성요소
-
aspect
- 공통 기능(부가 기능)을 가지는 대상
- advice와 pointcut 으로 구성
- pointcut(어디에서) + advice(무엇을 할 것인가)
-
advice
- 공통 기능(부가 기능)을 담은 구현체
- aspect의 세부 내용
- 예시 : 로그인 체크 기능 (SessionCheck)
-
pointcut
- advice가 적용될 타겟 지정 기능
- 타겟 : 어떤 클래스(컨트롤러)의 어느 joinPoint(메서드)
- 예시 : QuestionController의 updateQuestion()을 지정
-
weaving
- 포인트컷(pointcut)에 의해 결정된 조인포인트(joinPoint)에 지정된 어드바이스(advice)를 삽입하는 과정
3. AOP 흐름
반응형
'Web > Spring Boot' 카테고리의 다른 글
@EventListener & @PostConstruct (0) | 2022.06.09 |
---|---|
[Spring] @RestControllerAdvice (0) | 2019.07.16 |
[Spring] DI (Dependency Injection) (0) | 2019.06.24 |
[Spring] Logback 사용법(gradle) (0) | 2019.06.18 |
[Spring] IoC/DI (1) | 2019.04.21 |