본문 바로가기
Spring

AOP 설명

by 무대포 개발자 2020. 11. 2.
728x90
반응형

AOP 설명

  • AOP ( Aspect Oriented Programming )
  • AOP 의 개념은 핵심 관심만 집중할 수 있도록, 중복 해서 작성해야 하는 핵심 이외의 코드들은 외부로 빼놔서 일괄적용시키는 것
  • AOP 방식의 가장 큰 장점은 핵심 부분을 건드리지 않으면서 중복 코드를 제거 가능
  • AOP에서는 핵심 관심 모듈의 중간 중간에 필요한 횡단 관심 모듈을 직접 호출하지 않고 위빙을 통해 횡단 관심 코드를 삽입
  • 위빙이란 객체와 관점을 연결시켜주는 역할을 한다.
    • 위빙에는 여러 방법이 있음. BCI, Compiler 등

AOP 용어

Pointcut
  • 어느 부분( Where )에 횡단 관심 모듈을 삽입 할 것인지 정의
  • 자바 프로그래밍은 메서드의 호출로 실행되기 때문에 메서드에 횡단 관심 모듈을 삽입
  • Execution 에 명시해서 어떤 메소드에서 실행될지 결정
  • 예를 들면, @Around("execution(* ..aoptest..*(..))")
  • Execution 을 통해 어떤 메소드에서 실행할지 결정
Joinpoint
  • joinpoint는 언제( When ) 횡단 관심 모듈을 삽입할지를 정의
  • joinpoint의 몇 가지 종류
    • before : 메서드 실행 전
    • after : 메서드 실행 후
    • around : 메서드 실행 전, 후
  • 예를 들면, @Around("execution(* ..aoptest..*(..))")
    • @Around 가 Joinpoint 임.
Advice
  • advice는 핵심 관심 모듈에 삽입 될 횡단 관심 모듈 자체( What )를 정의
  • JoinPoint 와 PointCut 이 적용된 메소드 자체 내용을 의미함.
    • Public ~ method () { … advice 내용 }

'Spring' 카테고리의 다른 글

Spring filter 와 interceptor 설명  (0) 2020.12.23
web application spring starter 세팅  (0) 2020.12.18
aop 와 weaving 설명  (0) 2020.10.19
생성자 주입을 사용하면 좋은 이유?  (0) 2020.10.09
POJO, Bean, 프레임워크 개념 정리  (0) 2020.10.08

댓글