본문 바로가기

JAVA/Spring Boot

SpringBoot Aop

728x90

 

 

3.1 Joinpoint

  • 메소드를 호출하는 '시점', 예외가 발생하는 '시점'과 같이 애플리케이션을 실행할 때 특정 작업이 실행되는 '시점'을 의미한다.

3.2 Advice

  • Joinpoint에서 실행되어야 하는 코드
  • 횡단관점에 해당함 (트랜잭션/로그/보안/인증등..)

3.3 Target

  • 실질적인 비지니스 로직을 구현하고 있는 코드
  • 핵심관점에 해당함 (업무로직)

3.4 Pointcut

  • Target 클래스와 Advice가 결합(Weaving)될 때 둘 사이의 결합규칙을 정의하는 것이다
  • 예로 Advice가 실행된 Target의 특정 메소드등을 지정

3.5 Aspect

  • Advice와 Pointcut을 합쳐서 하나의 Aspect라고 한다.
  • 즉 일정한 패턴을 가지는 클래스에 Advice를 적용하도록 지원할 수 있는 것을 Aspect라고 한다.

3.6 Weaving

  • AOP에서 Joinpoint들을 Advice로 감싸는 과정을 Weaving이라고 한다.
  • Weaving 하는 작업을 도와주는 것이 AOP 툴이 하는 역할이다

 

 

 

@Pointcut : aspectJ를 적용할 타겟을 정의해준다. 전체 컨트롤러의 함수대상, 특정 어노테이션을 설정한 함수대상,

                특정 메소드 대상 등 개발자가 적용하길 원하는 범위를 정의하는 어노테이션

@Before : aspectJ를 적용할 타겟 메소드가 실행되기 '전' 수행됨

@AfterReturning : aspectJ를 적용할 타겟 메소드가 실행된 '후' 수행됨 (제일 마지막에 수행됨)

@Around : aspectJ를 적용할 타겟 메소드 실행 전 , 후 처리를 모두 할 수 있음

 

 

https://vmpo.tistory.com/100

 

[SpringBoot] 스프링부트 aop Aspectj 적용하기 - 메소드 실행시 특정 로직 수행

먼저 springboot 환경셋업이 필요합니다. 환경셋업은 아래 링크 참고 부탁드립니다. https://vmpo.tistory.com/7?category=730732 intellij SpringBoot(인텔리제이 스프링부트) 시작하기 - hello world 브라우저에..

vmpo.tistory.com

 

 

'JAVA > Spring Boot' 카테고리의 다른 글

spring Boot  (0) 2021.06.03