-
어노테이션 기반 AOPSpring 2020. 1. 28. 23:39
AOP를 어노테이션으로 설정하려면 가장먼저 스프링 설정 파일에 <aop:aspectj-autoproxy>엘리먼트를 선언해야 한다.
-> 어노테이션을 위한 Component-scan 과 비슷하네
그러면 스프링 컨테이너는 AOP관련 어노테이션들을 인식하고 용도에 맞게 처리해준다.
AOP 관련 어노테이션들은 어드바이스 클래스에 설정한다.
어드바이스 클래스에 선언된 어노테이션들을 스프링 컨테이너가 처리하려면, 어드바이스 객체가 생성되어 있어야한다.
즉, <bean> 등록 하거나, @Service 어노테이션 사용해서 컴포넌트가 검색될 수 있도록 해야 한다.
포인트컷 @Pointcut (하나의 어드바이스 클래스 안에 여러 개의 포인트컷을 선언할 수 있다.)
따라서 여러 포인트컷을 식별하기 위한 식별자가 필요한데 이때 사용하는것이 빈 메소드? 이다.
allPointcut()으로 지정한 비즈니스 메소드가 호출될 때,어드바이스 메소드인 printLog()메소드가 before 형태로 동작하도록 설정한것. AOP설정에서 가장 중요한 aspect 는 @Aspect를 이용하여 설정. aspect는 포인트컷과 어드바이스의 결합.
즉, @Aspect가 설정된 객체에는 반드시 포인트컷과 어드바이스를 결합하는 설정이 있어야 한다.
'Spring' 카테고리의 다른 글
JDBC (0) 2020.01.29 Aspect Annotation (0) 2020.01.29 After Returning ,After Throwing ,Around (0) 2020.01.28 JoinPoint (0) 2020.01.28 AOP(execution) (0) 2020.01.27