※ @After : After Advice를 구현
- 대상 객체의 메서드를 실행하는 도중에 예외가 발생했는지의 여부와 상관없이 메서드 실행 후 공통 기능을 실행(try~catch~finally의 finally 블록과 비슷)
■ 대상 객체 및 호출되는 메서드에 대한 정보나 전달되는 파라미터에 대한 정보가 필요한 경우 org.aspectj.lang.JoinPoint를 파라미터로 명시
※ @Around : Around Advice를 구현
- 대상 객체의 메서드 실행 전, 후 또는 예외 발생 시점에 공통 기능을 실행
- Around Advice를 구현한 메서드는 org.aspectj.lang.ProceedingJoinPoint를 반드시 첫 번째 파리미터로 지정해야 함 -> 그렇지 않을 경우 예외 발생
FaqBoardImpl.java
package sp.aop.service; import org.springframework.stereotype.Component;
@Component("faqBoard") @Override @Override |
NoticeBoardImpl.java
package sp.aop.service; import org.springframework.stereotype.Component;
@Component("noticeBoard") @Override @Override |
BoardController.java
package sp.aop.controller; import javax.annotation.Resource; import org.springframework.web.servlet.ModelAndView; import sp.aop.service.Board;
public class BoardController extends
@Resource(name="noticeBoard") } |
spring302-servlet.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"
<context:annotation-config/> </beans> |
TestAspect.java - After Advice
package sp.aop.aspect; import org.aspectj.lang.JoinPoint;
|
<<===== START =====>> |
TestAspect.java - Around Advice
package sp.aop.aspect; import org.aspectj.lang.JoinPoint;
|
<<===== START =====>> |
[참고자료] Spring 3.0 프로그래밍-최범균
'프로그램 > Spring 3.0' 카테고리의 다른 글
JoinPoint의 사용 (0) | 2012.05.11 |
---|---|
@Aspect 어노테이션을 이용한 AOP - @Pointcut 어노테이션을 이용한 Pointcut 설정 (0) | 2012.05.11 |
@Aspect 어노테이션을 이용한 AOP - @AfterThrowing (0) | 2012.05.09 |
@Aspect 어노테이션을 이용한 AOP - @Before, @AfterReturning (0) | 2012.05.09 |
@Aspect 어노테이션을 이용한 AOP (0) | 2012.05.09 |