@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

+ Recent posts