티스토리 뷰

2022/spring boot

day11[AOP]

yanii 2022. 11. 14. 19:23

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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함