초간단 AOP 예제는 이것으로 세개 째군요.
이전에 올렸던 @AspectJ 사용하는 초간단 예제를 XML 설정 파일을 사용하도록 바꿔봤습니다.

다른 파일들은 모두 같고 MannerAOP파일에서 모든 어노테이션들을 띄어 내고 다음과 같이 수정했습니다.

public class MannerAOP {

       public void beforeSaying() {

             System.out.println("다시 소개 합니다~");

       }

 

       public void afterSaying() {

             System.out.println("AOP ~ 줍니다.");

       }

}

그리고 XML 설정 파일에서 저번에는
<aop:aspectj-autoproxy/>
이렇게 한 줄이 있었는데요. 이 것을 지우고 다음과 같이 설정합니다.

<beans xmlns="http://www.springframework.org/schema/beans"

       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

       xmlns:aop="http://www.springframework.org/schema/aop"

       xsi:schemaLocation="

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd

http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">

 

       <!-- this is the object that will be proxied by Spring's AOP infrastructure -->

       <bean id="keesun" class="secondSpringAOP.Keesun" />

 

       <!-- this is the actual advice itself -->

       <bean id="manner" class="secondSpringAOP.MannerAOP" />

 

       <aop:config>

             <aop:aspect ref="manner">

 

                    <aop:pointcut id="greeting"

                           expression="execution(public * secondSpringAOP.Human.sayName(..))" />

 

                    <aop:before pointcut-ref="greeting" method="beforeSaying" />

 

                    <aop:after-returning pointcut-ref="greeting" method="afterSaying" />

 

             </aop:aspect>

       </aop:config>

 

</beans>

결과는 다음과 같습니다.

다시 한 번 소개 합니다~
저는 백~기~선입니다.
AOP 죽~여 줍니다.

이 예제를 돌리기 위해서는 이전에 추가했던 spring.jar, commons-logging.jar, aspectjrt.jar, aspectjweaver.jar 이 것들 이 외에 'Spring-with-dependencies 설치 폴더'/lib/asm/ 안에 있는 asm-2.2.2.jar, asm-commons-2.2.2.jar 파일을 classpath에 추가해 주어야 합니다.
bl165.zip