applicationContext.xml에서 스프링 컨테이너에게
aop설정을 어노테이션으로 한다는 것을 안내해주어야 한다.

<!-- aop를 @로 하겠다~ -->
<aop:aspectj-autoproxy/>
@을 통한 aop 설정 순서
1) 포인트컷 설정
- 내가 연결하고자하는 횡단관심이 작성된 클래스에서 설정 가능
- @Pointcut("패키지가 포함된 클래스명") 으로 설정
2) 횡단관심 설정
- @시점설정("포인트컷()") 으로 설정
3) 포인트컷 + 횡단관심 결합
- @Aspect 사용
포인트컷과 횡단관심을 연결할 클래스

AfterReturning / AfterThrowing / Around인 경우의 시점 설정



하지만 불편한 점이 발생하는데, 바로 Pointcut이 반복되는 점이다. 매번 모든 클래스에서 Pointcut을 작성해주어야 하는데 이에 대한 해결방법은
Pointcut만 모아놓은 클래스를 작성하는 것이다.
Pointcut 클래스

@Pointcut(메서드 시그니처)
기존의 xml 파일에서 설정한 부분을 java에서 표현하기
이제 이 포인트컷을 사용할 클래스에서 호출만 하면 된다.

사진에서 빨간 박스 부분에 기존에서는 포인트컷명만 불렀지만, 포인트컷을 클래스로 전부 모아놓게 되면서 클래스를 통해 메서드 호출만 하면
코드 길이를 줄일 수 있는 장점이 있다.
'IT Study > Spring' 카테고리의 다른 글
Spring - Spring MVC (0) | 2023.01.02 |
---|---|
Spring - jdbcTemplate 클래스 (0) | 2023.01.02 |
Spring - JoinPoint / 바인드 변수 (0) | 2023.01.02 |
Spring - AOP(Aspect Oriented Programming) 설정 (0) | 2023.01.02 |
Spring - 필드 주입(어노테이션 주입방식) (0) | 2023.01.02 |
댓글