728x90
반응형
SMALL
AOP이란 Aspect oriented programming 으로써 관점 지향 프로그래밍이라고 한다. 정의를 굳이 말하자면 공통 영역을 핵심 부분에 적용하는 스프링 기능 중 하나라고 생각하면 된다. 자바의 특징이 객체 지향인데, 이러한 특징을 더욱 두드러지게 만들게 해준다. 이 정의를 처음 들었을 때 추상적으로 들려 좀 더 풀어서 설명할 까 한다. 그림은 간단한 웹 예제를 가지고 연습한 기준을 가지고 그림을 그린 것이다.
AOP가 없다면 로깅, 보안, 트랜젝션 기능을 각 영역마다 추가를 시켜줘야 하는 불편함이 생긴다. 이 떄 aop를 이용하면 굳이 일일히 각 기능들을 추가시킬 필요가 없으며 공통 영역에 관한 클래스를 작성하고 적용시키기만 하면 되는 것이다.
AOP를 본격적으로 앞서 AOP를 쓰는데 필요한 용어부터 정리를 하겠다.
AOP 용어
용어 | 설명 |
Advice | 어느 시점에 공통 영역을 적용할 것인지 설정(@before, @around ...) |
Joinpoint | 애플리케이션을 실행할 때 특정 작업이 시작되는 시점 |
Pointcut | Advice을 어디에 적용을 할지 설정(execution ....) |
Weaving | Advice를 핵심 로직 코드에 적용하는 것 |
Aspect | 여러 객체에 공통적으로 적용되는 공통 관심 사항(영역) |
728x90
반응형
LIST
'spring' 카테고리의 다른 글
Junit 개념 및 활용 (0) | 2021.07.24 |
---|---|
Springboot aop 기본개념 및 예제 (0) | 2021.07.17 |
[Springboot] Logback 사용하기 (0) | 2021.03.21 |
[Gradle] build.gradle 기본 구조(dependencies) (0) | 2021.03.15 |
스프링 시큐리티 회원가입 & 로그인 & 로그아웃 (0) | 2020.02.06 |