1. AOP(Aspect Oriented Programming)
1) AOP 개요
- 핵심 관심 사항과 공통 관심 사항으로 분리
- 공통 관심 사항을 여로 모듈에서 적용하는데 있어 중복된 코드를 양항 하는 한계 존재
2) AOP 적용 예
- 간단한 메소드의 성능 검사
- 트랜잭션 처리
- 예외 반환
- 아키텍처 검증
3) Spring AOP 용어
- target : 부가 기능을 부여할 대상
- Aspect : '공통 기능'을 모아둔 객체를 의미 (Pointcut + Advice) == Advisor
- Advice : 어느 시점에 어떤 공통 관심 기능을 적용할 지
- JoinPoint : '공통 기능을 적용해야 하는 메소드'의 실행 시점을 의미
- Pointcut : '공통 기능을 적용할 대상'을 의미(1개 또는 그 이상)
- Weaving : 공통 기능을 적용 하는 '행위'를 의미
4) AOP의 특징
- Spring은 Proxy 기반 AOP를 지원
- Proxy가 호출을 가로챈다
- Spring AOP는 method JoinPoint만 지원
5) Pointcut 표현식
'Web > Spring' 카테고리의 다른 글
MyBatis-Spring (0) | 2024.04.22 |
---|---|
MyBatis (0) | 2024.04.19 |
Interceptor, Filter, AOP (0) | 2024.04.18 |
SpringMVC (0) | 2024.04.17 |
Spring Architecture DI (0) | 2024.04.15 |