Spring AOP 개념정리

Jieun·2023년 5월 12일
0

📝 Spring AOP 개념정리 및 어노테이션 정리
#230512

📌 Spring AOP

  • 관점 지향 프로그래밍(Aspect Oriented Programming)

  • 중복되는 공통 코드 부분(commit, rollback, log 처리) 을 별도의 영역으로 분리
    ➡️ 소스 코드의 중복을 줄이고, 필요할 때마다 가져다 쓸 수 있게 객체화

공통되는 부분을 따로 빼내어 필요한 시점에 해당코드를 추가해주는 기술


Spring AOP 동작 구조 ⭐⭐⭐


  • Advice : 공통되는 부분을 따로 빼내어 작성하는 메소드

  • JoinPoint : Advice를 적용될 수 있는 모든 관점(시점, 메소드)

  • Pointcut : JoinPoint 중 실제 Advice를 적용할 부분

  • Weaving : 그 시점에 공통 코드를 끼워 넣는 작업


Aspect

Advice(기능) + Pointcut(수행) = Aspect

실제로 동작 코드를 의미하는 Advice와
작성한 Advice가 실제로 적용된 메소드인 Pointcut을 합친 개념

Proxy

Spring은 프록시(Proxy) 기반 AOP를 지원

대상 객체를 직접 접근하지 못하게 ‘대리인’으로써 요청을 대신 받는 기술


Spring AOP 구현 방식 - Annotation

profile
👩‍💼👩‍💼➡️➡️➡️👩‍💻👩‍💻 생산자의 삶을 살기 위해 개발공부중

0개의 댓글