본문 바로가기
Spring

Spring : 스프링 AOP (230116)xxx

by haheehee 2023. 1. 16.

++ 관점 지향 프로그래밍(Aspect Oriented Programming, AOP) ++

 

- 주기능과 보조 기능을 분리해서 메서드에 적용

더보기

(출처 : Aspect Oriented Programming(관점지향프로그래밍) 소개 :: Deep Play (tistory.com))

AOP는 절차지향이나 객체지향 프로그래밍처럼 그 자체로 하나의 프로그램을 형성할 수 있는 건 아닙니다.

하지만 AOP는 객체지향 코드 위에서 이루어지며 객체지향을 보조하는 역할을 한다고 보시면 됩니다.

 

스프링 프레임워크에서 AOP기능 구현 방법

  1. 스프링 프레임워크에서 제공하는 API 사용
  2. @Aspect 애너테이션 사용

 

AOP 용어

용어 description
aspect 구현하고자 하는 보조 기능
advice aspect의 실제 구현체(클래스)를 의미. 메서드 호출을 기준으로 여러 지점에서 실행
joinpoint advice를 적용하는 지점. 스프링은 method 결합점만 제공
pointcut advice가 적용되는 대상을 지정. 패키지이름/클래스이름/메서드이름을 정규식으로 지정하여 사용
target advice가 적용되는 클래스를 의미
weaving advice를 주기능에 적용하는 것을 의미

 

AOP 기능 구현 과정

  1. Target 클래스 지정
  2. Advice 클래스 지정
  3. 설정 파일에서 Pointcut을 설정
  4. 설정 파일에서 Advice와 Pointcut을 결합하는 Advisor 설정
  5. 설정 파일에서 스프링의 ProxyFactoryBean 클래스를 이용해 target에 advice 설정
  6. getBean() 메서드로 빈 객체에 접근해 사용

 

댓글