advice

· Spring
@Pointcut 가 아닌 @Around에 execution 명시자를 직접 지정할 수 도 있습니다. @Asepct public class CacheAspect{ @Around("execution(public * chap07..*(..))") public Object execute(ProceedingJoinPoint joinPoint) throws Throwable { ... } } 만약 같은 Pointcut을 여러 Advice가 함께 사용한다면 공통 Pointcut을 재사용할 수도 있습니다. ExeTimeAspect @Aspect @Order(1) public class ExeTimeAspect { @Pointcut("execution(public * chap07..*(long))") private vo..
· Spring
이번에는 Spring에서 Advice 적용 순서에 대해 알아보겠습니다. 한 Pointcut에 여러 Advice를 적용할 수도 있습니다. CacheAspect package aspect; import java.util.HashMap; import java.util.Map; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Pointcut; /** * 간단하게 캐시 기능을 구현한 클래스 */ @Aspect public class CacheAspect { privat..
· Spring
AOP AOP : Aspect Oriented Programming의 약자로, 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 프로그래밍 기법입니다. AOP는 핵심 기능과 공통 기능의 구현을 분리함으로써 핵심 기능을 구현한 코드의 수정 없이 공통 기능을 적용할 수 있게 만들어 줍니다. AOP는 우리말로 관점지향 프로그래밍 정도로 많이 번역하고 있으나, Aspect는 구분되는 기능이나 요소를 의미하기 때문에, '관점'보다는 '기능 또는 관심'이라는 표현이 더 알맞습니다. 스프링도 프록시를 이용해서 AOP를 구현하고 있습니다. AOP의 기본 개념은 핵심 기능에 공통 기능을 삽입하는 것입니다. 즉, 핵심 기능의 코드를 수정하지 않으면서 고통 기능의 구현을 추가하는 것이 AOP입니다. ..
runnnerDevHong
'advice' 태그의 글 목록