2015년 1월 22일 목요일

[@ApectJ,spring AOP]커스텀어노테이션, @annotation스프링충고,포인트컷에 @annotation 사용하기

[@ApectJ,spring AOP]커스텀어노테이션, @annotation스프링충고,포인트컷에 @annotation 사용하기

1. 사용자정의 어노테이션을 아래처럼 간단히 만들고

package spring.edu.oraclejavacommunity;

public @interface Loggable { 
}


2. Aspect를 작성하자.

package spring.edu.oraclejavacommunity;
 
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
 
@Aspect
public class OjcAspect {

    // 사전충고
    // @Loggable 어노테이션이 붙은 메소드에 아래 충고가 적용

    @Before("@annotation(spring.edu.oraclejavacommunity.Loggable)")
    public void OjcAdvice(){
        System.out.println("충고 받으시오...");
    }
}


3. 충고를 적용할 메소드에 아래처럼 @Loggable을 써주면 된다.

public class OjcService {     
    @Loggable
    public void order() {
......
    }     
}

댓글 없음:

댓글 쓰기