4. @AspectJ 사용하는 초간단 AOP 예제
JDK 6에서도 테스트 해봤습니다.
Spring 2.5 jar 파일을 사용했으며, AspectJ 관련 라이브러리는 lib폴더에 있는 것들을 사용했습니다.
결과화면
오랜만에 배치기 노래도 듣을 수 있고 좋군요.
저 예제를 돌리고 나서 얼마나 신났었는지 그 때의 기분을 고대로 느낄 수 있었습니다.
댓글 주셔서 감사합니다.
================================================================================
Spring Reference 6장에 있는 코드들을 테스트 해보기 위해 초간단 예제를 만들어 봅니다.
참조 : http://www.infoq.com/articles/Simplifying-Enterprise-Apps
소스 코드 보기
[#M_ more.. | less.. |
public void sayName();
}
// Keesun.java
public class Keesun implements Human {
public void sayName() {
System.out.println("저는 백~기~선입니다.");
}
}
//MannerAOP.java
@Aspect
public class MannerAOP {
@Pointcut("execution(public * Human.sayName(..))")
public void greeting() {
}
@Before("greeting()")
public void hi() {
System.out.println("만나서 반~갑~습니다.");
}
@AfterReturning("greeting()")
public void doBeforeOne() {
System.out.println("AOP 죽~ 여~ 줍니다~");
}
}
//aopAppContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<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="firstSpringAOP.Keesun" />
<aop:aspectj-autoproxy />
<!-- this is the actual advice itself -->
<bean id="mannerAOP" class="firstSpringAOP.MannerAOP" />
</beans>
// TestFirstAOP.java
public class TestFirstAOP {
public static void main(String[] args) {
BeanFactory bf = new ClassPathXmlApplicationContext(
"firstSpringAOP/aopAppContext.xml");
Human human = (Human) bf.getBean("keesun");
human.sayName();
}
}
_M#]실행 결과
저는 백~기~선입니다.
AOP 죽~ 여~ 줍니다~
이 프로그램이 돌아가려면 Spring을 사용하기 때문에 이 전 글에서 추가 했던 spring.jar파일과 commons-logging.jar가 필요하며 AspectJ를 사용하고 있기 때문에 'AspectJ 설치 폴더'/lib or Spring-with-dependencies를 설치하셨다면 'Spring 설치 폴더'/lib/aspectj/ 안에 있는 aspectjrt.jar 와 aspectjweaver.jar 파일을 classpath에 추가해야 합니다.
예제를 돌렸네요. 아고 기뻐라.
[caption id="" align="align" caption="autoplay=0 visible=1"]bl162.mp3[/caption]bl163.zip