AOP활용 (@어노테이션 기반)

이은영·2022년 6월 16일
0

웹프레임워크

목록 보기
4/4

~setting.xml 설정

<context:component-scan base-package="com.spring.aopex3" />
<aop:aspectj-autoproxy />

<aop:aspectj-autoproxy />엘리먼트 : AOP관련 어노테이션들을 인식하고, 용도에 맞게 처리하기 위해 사용

<aop:pointcut>은 @Pointcut어노테이션 사용
하나의 어드바이스 클래스 안에 여러개의 포인트 컷 설정 가능
여러개의 포인트 컷을 구분하기 위해서 식별자 이용

@Before("PointcutCommon.allPointCut()") 

매소드 실행 전, 실행이 되는 매소드를 지정한다.
PointcutCommon 클래스 안에 insertDoPointcut,updatePointcut 라고 작성되어있는 매소드의 @Pointcut 정보를 가져오기 위한 내용이다.
왜 이렇게 클래스를 따로 두어 관리하는 이유는

이런식으로 작성이 되어지며, 이렇게 되면 불필요한 소스가 증가하므로, 클래스에 모아서 관리한다.

이 코드에서는 @Service를 사용하지 않는다.

@Before

다른 메소드도 실행시켰을때

@After

@Around

@AfterRetuning

@AfterThrowing

실행

profile
성장중인 개발자 (머리속의 생각을 글로 옮기는 연습을 하고 있습니다.)

0개의 댓글