AOP 정리
AOP 는 Service 레이어랑 겹치기 때문에 Class 상단에 @으로 @Service 를 사용하고
<aop:aspect> 태그를 사용하기 위해 @어노테이션으로 @Aspect 를 추가해줍니다.
<aop:poincut> 태그를 사용할때는 @Pointcut 어노테이션을 사용하며
조심해야할 점으로 @PointCut 어노테이션도 있기 때문에 잘확인해서 사용해야한다.
Pointcut 어노테이션은 여러 Advice 클래스들에 사용될 수 있기 때문에
보통 Pointcut 을 모아둔 클래스를 추가해둔다.
+) Pointcut을 사용하는 메서드는 참조 메서드로 메모리를 차지하지 않는다.
Pointcut을 참조 메서드로 사용하면서 중복코드가 줄어들면서 응집도가 높아진다.
AOP 설정이 완료되었다면
applicationContext.xml (스프링컨테이너)에 아래 태그를 추가해주면 된다.
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
@Pointcut 하위 @(어노테이션)
@Before : 메서드 실행 전 실행한다.
@After : 메서드 실행 후 실행한다.
@AfterReturning : 메서드가 예외 없이 정상 종료 후 실행한다.
@AfterThrowing : 메서드 실행 후 예외를 던진 후 실행한다.
@Around : 메서드 실행 전, 후 실행
-> ProceedingJoinPoint 객체를 사용한다.
.proceed() 를 사용하여 메서드를 실행으로 전 후 처리를 한다.
728x90
'국비 내용 정리 > Spring' 카테고리의 다른 글
국비 69일 내용 정리 (MultipartFile) (0) | 2024.10.22 |
---|---|
국비 68일 내용정리 (템플릿 패턴) (0) | 2024.10.19 |
국비 66일 내용정리 (AOP) (1) | 2024.10.15 |
국비 65일 내용정리 (Spring 비동기) (0) | 2024.10.14 |
국비 63일차 내용정리 (Spring MAV) (0) | 2024.10.10 |