AOP(Aspect Oriented Programming): 관점 지향 프로그래밍.
어떤 로직을 핵심적인 관점, 부가적인 관점으로 나눠서 그 관점에 따라 각각 모듈화하겠다는 것
보통 부가적인 관점으로 분류할 수 있는 것들은 DB연결, 로깅, 파일 입출력 등이 있다.
그런 것들을 매 클래스마다 적용할 수 없으니(흩어진 관심사) 비지니스 로직에서 분리하여 모듈로 재사용하겠다라는 것이 AOP의 취지
AOP 주요 개념
Aspect, Target, Advice, Joint Point, Point Cut
AOP 특징
.프록시 패턴 기반의 AOP 구현체, 프록시 객체를 쓰는 이유는 접근 제어 및 부가기능을 추가하기 위해서
.스프링빈에만 적용 가능
.스프링IoC와 연동하여 엔터프라이즈 애플리케이션에서 가장 흔한 문제(중복코드, 프록시 클래스 작성의 번거로움, 객체들 간의 복잡도 증가..)에 대한 해결책을 지원하는 것이 목적
[Spring] 스프링 AOP (Spring AOP) 총정리 : 개념, 프록시 기반 AOP, @AOP
| 스프링 AOP ( Aspect Oriented Programming ) AOP는 Aspect Oriented Programming의 약자로 관점 지향 프로그래밍이라고 불린다. 관점 지향은 쉽게 말해 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으..
engkimbs.tistory.com
스프링 부트(Spring Boot) - AOP와 트랜잭션(Transaction) 설정하기 [개발을 시작해봐요!]
이전 글에서는 프로젝트에 인터셉터를 적용해서 사용자의 요청 URI와 XML Mapper 선언된 SQL 쿼리를 로그로 출력하는 방법에 대해 알아보았습니다. 이번 글에서는 스프링 하면 빠질 수 없는 AOP(Aspect
congsong.tistory.com