Spring AOP
2026년 5월 17일
-
Spring AOP는 스프링 프레임워크에서 제공하는 기능 중 하나로 관점 지향 프로그래밍(AOP(Aspect-Oriented Programming)을 지원하는 기술이다.
-
Spring AOP는 로깅, 보안, 트랜잭션 관리 등과 같은 공통적인 관심사를 모듈화 하여 코드 중복을 줄이고 유지 보수성을 향상하는데 도움을 준다.
주요 용어 정리
| 용어 | 설명 |
|---|---|
| Aspect | 공통적인 기능들을 모듈화 한것을 의미한다. |
| Target | Aspect가 적용될 대상을 의미하며 메서드, 클래스 등이 이에 해당 된다. |
| Join point | Aspect가 적용될 수 있는 시점을 의미하며 메소드 실행 전, 후 등이 될 수 있다. |
| Advice | Aspect의 기능을 정의한 것으로 메서드의 실행 전, 후, 예외 처리 발생 시 실행되는 코드를 의미한다. |
| Point cut | Advice를 적용할 메소드의 범위를 지정하는 것을 의미한다. |
주요 어노테이션(Annotation)
| 메서드 | 설명 |
|---|---|
| @Aspect | 해당 클래스를 Aspect로 사용하겠다는 것을 명시한다. |
| @Before | 대상 “메서드”가 실행되기 전에 Advice를 실행한다. |
| @AfterReturning | 대상 “메서드”가 정상적으로 실행되고 반환된 후에 Advice를 실행한다. |
| @AfterThrowing | 대상 “메서드에서 예외가 발생”했을 때 Advice를 실행한다. |
| @After | 대상 “메서드”가 실행된 후에 Advice를 실행한다. |
| @Around | 대상 “메서드” 실행 전, 후 또는 예외 발생 시에 Advice를 실행한다. |