본문 바로가기
프로그래밍/Spring

Spring AOP 간단 개념정리

by choi_9182 2021. 1. 26.

Spring은 Spring Triangle이라고 부르는 세 가지 개념을 제공해준다. 각각 IoC, AOP, PSA를 일컫는다.

이 중 AOP에 대해 정리해보려고 한다.

 

AOP(Aspect Oriented Programing)는 관점 지향 프로그램이라고도 한다.

즉, 관점이 같은 코드가 반복되지 않도록 모듈화하는 프로그래밍 패러다임이다.

이러한 Spring AOP는 프록시 패턴이라는 디자인 패턴을 사용해서 AOP효과를 낸다.

프록시 패턴은 실제 기능을 수행하는 객체 대신에 가상의 객체를 사용해 로직의 흐름을 제어하는 디자인 패턴이다.

A클래스가 Spring AOP의 대상이라면 A클래스의 빈이 만들어질 때 Spring AOP가 프록시를 자동으로 만들고 원본인 A클래스 대신 프록시에 빈을 등록한다.

그리고 원본인 A클래스가 사용되는 지점에서 프록시를 대신 사용한다.

 

예를 들면 로그출력, 보안처리, 예외처리와 같은 여러번 공통으로 수행될 수 있는 로직에 AOP를 적용할 수 있다.

 

아래는 트랜잭션에 AOP를 적용한 블로그 글이다.

congsong.tistory.com/25

'프로그래밍 > Spring' 카테고리의 다른 글

web.xml 설정 시 ApplicationContext  (0) 2021.01.19
스프링 배치. 그리고 스케줄러, Quartz  (0) 2020.03.26
@Transactional / 트랜잭션  (0) 2020.03.16
web.xml 간단 정리  (0) 2019.09.22

댓글