티스토리 뷰
AOP(Aspect Oriented Programming)
관점이란 개발에 있어서, 관심사(Concern)를 의미한다.
코드의 중복을 줄일 수 있으며, 핵심 로직과 주변 로직을 분리하여 관리할 수 있다.
- 파라미터가 잘 전달 되었는가?
- 이 로직에서 발생할 수 있는 모든 예외 처리
핵심 로직은 아니지만 반복적으로 개발에 필요한 관심사들을 주변 로직이라고 한다.
따라서 AOP는 이러한 주변 로직을 횡단 관심사로 분리하여 작성하고
종단 관심사인 핵심 비지니스 로직만을 작성하도록 한다.
예) 나눗셈 프로그램 개발 시 두 개의 숫자를 나누는 것(핵심, 종단)
0으로 나누는 지 검사하는 것(주변, 횡단)
즉, 반복적으로 나타나는 횡단 관심사를 모듈로 분리한 후 적절한 시점에
로직을 주입하는 것이 AOP이다. 스프링에서는 별도의 복잡한 설정 없이 간편하게
AOP의 기능들을 구현할 수 있기 때문에 중요한 특징 중 하나이다.
AOP를 사용할 수 있는 시점
- Around(전 구역)
- Before(메소드 시작 직후)
- After(메소드 종료 직전)
- AfterReturning(메소드 리턴 후)
- AfterThrowing(메소드 예외 발생 후)
AOP 설계 순서
1. 구현할 횡단 관심사를 의미할 수 있는 어노테이션 만들기
2. 어노테이션을 AOP로 등록하기
3. 종단 관심사에 등록된 어노테이션 사용하기
'2022 > spring boot' 카테고리의 다른 글
타임리프 th:with (0) | 2022.12.01 |
---|---|
day05[order, app] (0) | 2022.11.09 |
day04[order] (0) | 2022.11.06 |
selectKey 태그 (0) | 2022.11.04 |
IntelliJ 단축키 (0) | 2022.11.04 |