@AfterReturning 어드바이스 만들기
제일 간단한 @AfterrReturning 어드바이스는 다음과 같습니다.
@AfterReturning("aop.newStyle.aspect.CinemaAspect.sellTicketPointcut()")
public void thanksAdvice(){
System.out.println("감사합니다. 다음에 또 오세요.");
}
public void thanksAdvice(){
System.out.println("감사합니다. 다음에 또 오세요.");
}
@AfterReturning 어드바이스는 대상 메소드의 리턴값을 받아 올 수 있습니다. @AfterReturning의 속성인 returning을 사용하면 됩니다. 다음과 같이 작성할 수 있습니다.
@AfterReturning(pointcut="aop.newStyle.aspect.CinemaAspect.sellTicketPointcut()", returning="ticket")
public void thanksAdvice(Ticket ticket){
System.out.println(ticket.getMovie().getName() + " 를 구매하셨습니다.");
System.out.println("감사합니다. 다음에 또 오세요.");
}
public void thanksAdvice(Ticket ticket){
System.out.println(ticket.getMovie().getName() + " 를 구매하셨습니다.");
System.out.println("감사합니다. 다음에 또 오세요.");
}
이렇게 하면 될 것 같지만...에러가 나지요. asm 라이브러리를 추가해줘야 합니다.
저 두개의 라이브러리를 프로젝트에 추가하면 돌아갑니다~
안녕하세요. 어떤 영화를 보시겠습니까?
공공의적 를 구매하셨습니다.
감사합니다. 다음에 또 오세요.
공공의적 를 구매하셨습니다.
감사합니다. 다음에 또 오세요.