반응형
01. AOP의 용어
- JoinPoint : 언제 합쳐져서 실행할까?
- 타켓메소드의 명령 실행 전? - before
- 타겟메소드의 명령 실행후에 예외와 상관없이 무조건? after (일종의finally)
- 타겟메소드의 명령이 정상적으로 실행된 후? - after-returning (일종의 try)
- 타겟메소드의 명령 실행시 예외가 발생된 경우? - after-throwing (일종의catch)
- 타겟메소드의 명령 실행 전과 후 둘다? - around
- Pointcut : 어떤 클래스의 어떤 메소드에 널을까?
- Advice 클래스 : 횡단코드만 작성된 클래스
- Weaving : 핵심관심코드 + 횡단관심코드 합치는 작업
- Aspect : 합친 결과물
- Introduction : …
02. SpringAOP 변화
- 스프링1 : 위에처럼 proxy 클래스를 직접 만들어줘서 해야함
- 스프링2 : proxy 클래스를 스프링에서 제공해주므로, 개발자가 만들필요없이 xml파일에서 설정만 잘 하면됨 - 포인트컷언어 이용
03. SpringAOP 특징
- 표준 자바 클래스로 작성됨
- Runtime 시점에서 Advice 적용됨
- AOP 연맹의 표준을 준수함
- 메소드 단위 JoinPoint만을 제공함
04. SpringAOP 생성법
방법1. 💖스키마 기반의 AOP 이용하기
- spring 설정파일 안에 Pointcut 정의하는 것이 가능함
- Advice는 그대로 자바클래스로 만들어져서 사용 가능하며 이 때 Spring 설정용 XML은 반드시 Schema 방식이어야 함
방법2. 💛@AspectJ 어노테이션 이용하기
- @AspectJ 어노테이션을 이용한 Aspect, Pointcut과 Advice의 정의는 AspectJ 5에 처음 소개된 기능으로 SpringAOP는 이것을 그대로 사용할 수 있음
- @AspectJ를 사용하려면 먼저 Spring 설정파일에 AspectJ autoproxy 설정을 해야함
반응형
'framework > spring AOP(관점지향)' 카테고리의 다른 글
[springAOP] 6. 스키마기반의 AOP 만들어 사용하기 | ExecutionTimeApp프로그램 (0) | 2024.07.31 |
---|---|
[springAOP] 5. 스키마기반의 AOP 만들어 사용하기 | Advice클래스의 매개변수 (0) | 2024.07.31 |
[springAOP] 4. 스키마기반의 AOP 만들어 사용하기 | Advice클래스 (0) | 2024.07.30 |
[springAOP] 3. AOP 만들기 전 설정할 것 (0) | 2024.07.30 |
[springAOP] 1. AOP의 개요 | OOP vs AOP (0) | 2024.07.30 |