Whiteship's Note

4. @AspectJ 사용하는 초간단 AOP 예제

AOP : 2008.01.08 17:18


사용자 삽입 이미지

JDK 6에서도 테스트 해봤습니다.
Spring 2.5 jar 파일을 사용했으며, AspectJ 관련 라이브러리는 lib폴더에 있는 것들을 사용했습니다.

결과화면
사용자 삽입 이미지
오랜만에 배치기 노래도 듣을 수 있고 좋군요.

저 예제를 돌리고 나서 얼마나 신났었는지 그 때의 기분을 고대로 느낄 수 있었습니다.
댓글 주셔서 감사합니다.
================================================================================

Spring Reference 6장에 있는 코드들을 테스트 해보기 위해 초간단 예제를 만들어 봅니다.
참조 : http://www.infoq.com/articles/Simplifying-Enterprise-Apps

소스 코드 보기

실행 결과
만나서 반~갑~습니다.
저는 백~기~선입니다.
AOP 죽~ 여~ 줍니다~

이 프로그램이 돌아가려면 Spring을 사용하기 때문에 이 전 글에서 추가 했던 spring.jar파일과 commons-logging.jar가 필요하며 AspectJ를 사용하고 있기 때문에 'AspectJ 설치 폴더'/lib or Spring-with-dependencies를 설치하셨다면 'Spring 설치 폴더'/lib/aspectj/ 안에 있는 aspectjrt.jar 와 aspectjweaver.jar 파일을 classpath에 추가해야 합니다.

예제를 돌렸네요. 아고 기뻐라.




top

TAG ,
  1. Favicon of http://decoder.tistory.com BlogIcon decoder 2007.01.10 10:27 신고 PERM. MOD/DEL REPLY

    ㅎㅎ 노래가 신나군요...

    Favicon of http://whiteship.tistory.com/ BlogIcon 기선 2007.01.10 12:13 PERM MOD/DEL

    넵 헤헷.. 쉬면서 하시라구요. :P

  2. 짱가 2007.01.16 23:54 PERM. MOD/DEL REPLY

    한글이 깨지는 경우는 어떻게 하셨어요?

    Favicon of http://whiteship.tistory.com/ BlogIcon 기선 2007.01.17 00:54 PERM MOD/DEL

    한글이 깨지셨어요?..
    전 그런적이 없었는데요..흠..--;

    Favicon of http://whiteship.tistory.com/ BlogIcon 기선 2007.01.17 01:06 PERM MOD/DEL

    소스코드를 돌린 환경을 말씀드리면..
    Eclipse 3.2 WTP
    JDK 1.5.0_09
    Spring 2.0 입니다.

  3. Favicon of https://kekedie.tistory.com BlogIcon kekedie 2008.01.08 16:26 신고 PERM. MOD/DEL REPLY

    에러 나는데요. 잘 해결이 안되네요..

    Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'keesun' defined in class path resource [firstSpringAOP/aopAppContext.xml]: Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: error at ::0 can't find referenced pointcut greeting
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:547)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:485)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:170)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:413)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:735)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:369)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:122)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:66)
    at firstSpringAOP.TestFirstAOP.main(TestFirstAOP.java:9)

  4. Favicon of https://kekedie.tistory.com BlogIcon kekedie 2008.01.08 16:36 신고 PERM. MOD/DEL REPLY

    JDK6이 문제였네요...;;;;;;;;

    Favicon of https://whiteship.tistory.com BlogIcon 기선 2008.01.08 17:12 신고 PERM MOD/DEL

    엇 이상하네요.
    전 JDK6에서도 돌아가는데요;;;;;;;;;

  5. Favicon of https://kekedie.tistory.com BlogIcon kekedie 2008.01.08 18:12 신고 PERM. MOD/DEL REPLY

    이상하네...;; 덧글이 계속 지워지다가 또 되네요..휴~
    @Before("execution(* *..Hans.*(..))";)
    @AfterReturning("execution(* *..Hans.*(..))";)
    이렇게 설정하니까 테스트 통과하더라구요. greeting()메소드 명을 적어주면 실패구요.

    Favicon of http://whiteship.tistory.com BlogIcon 기선 2008.01.08 22:41 PERM MOD/DEL

    흠.. 글쿤요;;
    이상하네요 ㅎㅎ;;;

  6. 자바철학자 2009.07.07 14:35 PERM. MOD/DEL REPLY

    수고하십니다. 매번 좋은 정보 잘 보고 있습니다. 수고하세요

    whiteship2000@gmail.com 2009.07.07 15:27 PERM MOD/DEL

  7. Favicon of http://blog.naver.com/hulint BlogIcon 나창훈 2010.09.15 13:01 PERM. MOD/DEL REPLY

    안녕하세요~ 이곳에서 좋은 예제 좋은 설명 잘 보고 있습니다~

    한가지 궁금한게 있어서요..

    지금 main메소드에서 sayName메소드를 호출할때 AOP가 동작하게끔 되어 있는데

    main메소드를 호출할때도 AOP가 동작하게 할수 있나요?

    지금 컨트롤러에 AOP를 적용해서 로그인 체크를 해볼려고 하는데

    @RequestMapping(value=LIST_URL)
    public ModelAndView handleRequest(HttpServletRequest req){

    이 메소드에 대한 AOP가 동작(?) 하지 않아서 여쭤봅니다.

    제가 AOP에 대한 개념을 잘못 잡은건지;;;

Write a comment.




: 1 : ··· : 6 : 7 : 8 : 9 : 10 : 11 : 12 : 13 : 14 : ··· : 40 :