1. 적용할 프로젝트에서 아래 소스를 src > main > webapp > WEB-INF > spring 안에 있는 모든 설정파일에 입력한다.
2. Aspect 클래스를 다음과 같이 만든다.
package kr.co.khi.common;
import org.apache.log4j.*;
import org.aspectj.lang.*;
import org.aspectj.lang.annotation.*;
import org.springframework.util.*;
@Aspect
public class CommonAspect {
// Aspect 구성요소
// 1. pointcut : 어떤 클래스의 메소드에 대해서
// Aspect를 적용할지에대한 정규식과 같은 문법
// 2. advice : target(적용할 클래스의 메소드)에 적용할 소스
/*
* ? 는 생략가능
execution(modifiers-pattern? ret-type-pattern
declaring-type-pattern?
name-pattern(param-pattern) throws-pattern?)
*/
// @Pointcut("within(kr.co.khi.*)") 도 가능
@Pointcut("execution(* kr.co.khi..*.*(..))")
private void all() {
// 가명메소드 : private void로 만들어야 하고 body에 내용이 없어야 한다.
}
// around advice 메소드 시작전과 후를 감싸서 실행되는 advice
@Around("all()")
public Object around(ProceedingJoinPoint pjp) throws Throwable {
// 규칙 : public object 선언, 인자값 첫번째는 ProceedingJoinPoint
// System.out.println("메소드 실행 전!");
Object obj = pjp.proceed();
// System.out.println("메소드 실행 후!");
return obj;
}
}
3. servlet-context.xml 파일에 아래의 설정을 추가한다.
4. Aspectj weaver 와 Code Generation Library 를 다운받기위해 아래 소스를 pom.xml에 추가한다.
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.7.0</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
<version>2.2.2</version>
</dependency>
세팅 완료 후 콘솔 실행 내역
'Dev. 스프링 > 환경세팅' 카테고리의 다른 글
[스프링 팁] STS에 JSON Library 설치하기 (0) | 2012.10.19 |
---|---|
[스프링 팁] james 이용하여 spring 프로젝트 오류시 자동으로 메일 보내기 (0) | 2012.10.16 |
[스프링 팁] Spring에서 파일 업로드를 위한 세팅 (2) | 2012.10.09 |
[스프링 팁] Maven을 이용한 Tiles 다운로드 및 세팅, 사용 예제 (0) | 2012.10.05 |
[스프링 팁] 정적 자원에 직접 접근 허용을 위한 servelt-context.xml 수정하기 (0) | 2012.09.27 |