초웹개_스프링5_AOP(2)

네코·2022년 8월 24일
0

초웹개

목록 보기
10/10
post-thumbnail

스프링 AOP 구현

  • @Aspect 제공하는 클래스는 Advice,Pointcut을 함께 제공한다.
  • 현재 @Pointcut은 chap07 패키지와 그 하위에 위치한 타입의 public 메서드로 설정한것
  • @Around의 값이 "publicTarget()"인 것은 publicTarget()에 정의한
    PointCut에 공통 기능을 적용한다는 것
  • measure() 메서드의 ProceedingJoinPoint는 프록시 대상 객체를 가리켜 실제 객체의 메서드를 proceed()로 호출하기 위해 인자로 받는다.

설정 클래스

  • @EnableAspectJAutoProxy로 @Aspect가 붙은 공통 기능을 사용 가능하도록 한다.

메모

스프링은 AOP를 위한 프록시 객체를 생성할 때, 실제 생성할 빈 객체가 인터페이스를 구현하면 해당 인터페이스를 이용해 생성한다.

이 때 실제 구현 클래스를 이용해 프록시 객체를 생성하고자 한다면
@EnableAspectJAutoProxy(proyTargetClass= true) 와 같이 설정한다.

execute명시자 표현식

execution( 수식어패턴? 리턴타입패턴 클래스이름패턴?메서드이름패턴(파라미터패턴))

수식어 패턴: public,protected 등, 생략가능, 스프링 AOP는 public 메서드에만 적용가능

0개의 댓글