IT 강의 정리/윤재성의 스프링 입문

[섹션6][AOP] 23강~25강 AOP/ execution명시자/ @AspectJ어노테이션

Nellie Kim 2022. 10. 12. 21:03
728x90

23. AOP

특정메소드를 호출할때, 그 메소드를 가로채가서 다른 메소드를 먼저 호출하거나 그 이후에 호출하게 만드는 것.

예를 들어,  특정 웹페이지 요청시 로그인 여부를 검사하게 하는것  등으로 활용한다.

 

 

method1()메소드가 호출될때, AdvisorClass가 가지고 있는 beforeMethod를 호출해라.(method가 호출되기전에) 라는 뜻으로 아래와 같이 beans.xml에 작성해줄 수 있다.

method1()메소드가 호출될때, AdvisorClass가 가지고 있는 beforeMethod를 호출해라.(method가 호출되기전에)

 

24. execution 명시자

AOP적용시 다양한 상황에 대응할 수 있도록 명시자를 제공한다. beans.xml

 

25. @AspectJ 어노테이션 사용하기

지금까지는 어드바이저 역할을 할 클래스를 만들었었다. xml에 설정해놓은 메소드를 찾아서 자동으로 호출을 했었다.

그런데 @AspectJ 를 활용하면 xml파일이 아닌 어드바이저역할을 할 클래스에 직접 세팅할 수 있다.

먼저 , xml파일에는 <aop:aspectj-autoproxy/> , 자바파일에는 @EnableAspectAutoProxy를 작성해 줘야 한다.어차피 어드바이저클래스를 만들바엔 그 클래스에 직접 세팅하자는 의미이다.

AdvisorClass.java

 

 

출처 :  [인프런]윤재성의 스프링 프레임워크 개발자를 위한 실습을 통한 입문 과정