초간단 Schema 기반 Spring AOP
Spring/Chapter 6 : 2007. 4. 5. 08:37
먼저 Aspect 역할을 할 클래스를 만듭니다. 어드바이스를 메소드로 정의해 둘 클래스입니다.
이제 xml 설정파일로 가서 이 클래스를 빈으로 등록을 하고 어스팩트를 만들 때 사용하도록 합니다.
포인트컷 표현식은 이전 @AspectJ 에서와 동일하게 사용할 수 있습니다.
다음과 같이 대상이 되는 메소드를 호출 하면 맨 위에 만든 애스팩트에 있는 메소드 중에서 advice에 등록한 메소드가 실행됩니다.
public class Aspect {
public void welcome(){
System.out.println("어서 오세요. 무엇을 도와드릴까요?");
}
}
public void welcome(){
System.out.println("어서 오세요. 무엇을 도와드릴까요?");
}
}
이제 xml 설정파일로 가서 이 클래스를 빈으로 등록을 하고 어스팩트를 만들 때 사용하도록 합니다.
<!-- aop -->
<bean id="aspect" class="aop.newStyle.aspect.Aspect" />
<aop:config>
<aop:aspect id="cinema" ref="aspect">
<aop:pointcut id="sellTicket"
expression="execution(* sell*(..))" />
<aop:before method="welcome" pointcut-ref="sellTicket" />
</aop:aspect>
</aop:config>
<bean id="aspect" class="aop.newStyle.aspect.Aspect" />
<aop:config>
<aop:aspect id="cinema" ref="aspect">
<aop:pointcut id="sellTicket"
expression="execution(* sell*(..))" />
<aop:before method="welcome" pointcut-ref="sellTicket" />
</aop:aspect>
</aop:config>
포인트컷 표현식은 이전 @AspectJ 에서와 동일하게 사용할 수 있습니다.
@Test
public void sellTicket() {
cinema.sellTicket(movie, new Date());
}
public void sellTicket() {
cinema.sellTicket(movie, new Date());
}
다음과 같이 대상이 되는 메소드를 호출 하면 맨 위에 만든 애스팩트에 있는 메소드 중에서 advice에 등록한 메소드가 실행됩니다.
'Spring > Chapter 6' 카테고리의 다른 글
Schema 기반 Advice parameters (0) | 2007.04.06 |
---|---|
<aop:around> 어드바이스 예제 (0) | 2007.04.06 |
<aop:after-returning> 어드바이스에서 리턴값 받아오기 (0) | 2007.04.06 |
Schema 기반 Spring AOP 포인트컷 만들 때 주의 할 것 (0) | 2007.04.06 |
Schema 기반 Spring AOP 희한한 것 (0) | 2007.04.05 |
초간단 Schema 기반 Spring AOP (0) | 2007.04.05 |
Introduction 예제 (0) | 2007.04.04 |
Advice ordering (0) | 2007.04.04 |
Advice parameters (0) | 2007.04.03 |
6.2. @AspectJ support (0) | 2007.04.03 |
@Around 어드바이스 예제 (0) | 2007.04.03 |