@Aspect를 이용한 AOP 구현
작업순서
의존설정
@Aspect 어노테이션을 이용한 ASpect 클래스 제작
XML 파일에 <aop:aspectj-autoproxy/> 설정
XML에 <aop:aspectj-autoproxy/>가 @Aspect 어노테이션이 붙어있는 클래스를 찾아서 proxy를 만들어준다.
클래스 내의 @Pointcut 어노테이션이 붙어있는 메소드를 선언한다. 이 어노테이션에는 proxy가 적용될 범위를 지정해준다.
@Around 등의 어노테이션이 붙어있는 메소드가 proxy로 작동할 메소드 인데 @Pointcut의 범위 안에 드는 메소드가 실행될때
해당 어노테이션의 조건에 맞춰서 공통 기능 -> 핵심 기능 -> 공통 기능 순서로 실행된다.
@Before @After 처럼 아예 실행 위치만 지정해주는 어노테이션도 있다.
AspectJ Pointcut 표현식
AspectJ 문법
Execution : 실행할 메소드의 형식 (public void get*(..)) , 범위 (com.kjworks.ex.*.*())를 정한다.
within : 실행할 메소드의 패키지 안에 있는 메소드
bean : 특정 빈에만 실행 (이름의 형식)
'프로그래밍' 카테고리의 다른 글
[AOP] 관점 지향 프로그래밍 (2) (0) | 2018.09.28 |
---|---|
[AOP] 관점 지향 프로그래밍 (1) (30) | 2018.09.28 |
Postman (0) | 2018.09.10 |