먼저 Aspect 역할을 할 클래스를 만듭니다. 어드바이스를 메소드로 정의해 둘 클래스입니다.

public class Aspect {

    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>

포인트컷 표현식은 이전 @AspectJ 에서와 동일하게 사용할 수 있습니다.

    @Test
    public void sellTicket() {
        cinema.sellTicket(movie, new Date());
    }

다음과 같이 대상이 되는 메소드를 호출 하면 맨 위에 만든 애스팩트에 있는 메소드 중에서 advice에 등록한 메소드가 실행됩니다.