Spring/Spring AOP

Spring AOP - 프록시 기반 AOP

레알윙 2020. 3. 30. 22:08
반응형

스프링 AOP 특징

  • 프록시 기반의 AOP 구현체
  • 스프링 빈에서만 AOP 적용
  • 모든 AOP 기능을 제공하는 것이 목적이 아니라, 스프링 IoC와 연동하여 엔터프라이즈 애플리케이션에서 가장 흔한 문제에 대한 애결책을 제공하는 것이 목적

프록시 패턴

  • 기존 코드 변경없이 접근 제어 또는 부가 기능 추가

프록시 패턴

2020/02/17 - [Java/패턴] - 프록시 패턴

 

프록시 패턴

프록시 패턴이란? 프록시를 사용하는 방법중에서 타깃에 대한 접근 방법을 제어하려는 목적을 가진 경우 타깃의 기능을 확장하거나 추가하지 않고, 클라이언트가 타깃에 접근하는 방식을 변경해준다. public inte..

rlawls1991.tistory.com

 

프록시 패턴의 문제점

  • 매번 프록시 클래스를 작성
  • 여러 클래스 여러 메소드에 적용하면 코드의 중복

 

스프링 AOP사용이유

  • 스프링 IoC 컨테이너가 제공하는 기반 시설과 Dynamic 프록시를 사용하여 여러 복잡한 문제 해결
  • 동적 프록시 - 동적으로 프록시 객체 생성 방법
    • 자바가 제공하는 방법은 인터페이스 기반 프록시 생성
    • CGlib 은 클래스 기반 프록시 지원
  • 스프링 IoC - 기본 빈을 대체하는 동적 프록시 빈을 만들어 등록 시켜 준다.
    • 클라이언트 코드 변경 없음
    • AbstractAutoProxyCreator implements BeanPostProcessor
반응형