본문 바로가기
Web/Spring

AOP(관점 지향 프로그래밍)

by 당진개발자 2024. 4. 16.

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