728x90
반응형
AOP 를 사용함으로써 내가 지정해 놓은 메소드를 호출 하기 전에 거쳐야 하는 것들,
메소드를 호출이 끝난 후에 거쳐야 하는 것들,
을 지정해 줄 수 있는게 큰 영향인 것 같다.
servlet-context.xml
<!-- aop설정 -->
<beans:bean id="bk" class="net.hb.crud.aop.Banking"/>
<aop:aspectj-autoproxy />
pom.xml
<!-- 10-20-aop start-->
<!-- aspetjWeaver, aspectjtools, cglib 추가 -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${org.aspectj-version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
<version>${org.aspectj-version}</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>2.2</version>
</dependency>
<!-- 10-20-aop end-->
net.hb.crud.aop.Banking.java
package net.hb.crud.aop;
import java.util.Arrays;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;
@Aspect
public class Banking {
//@Around("execution(public * net.hb.crud..*(..))")
@Around("execution(public * net.hb.crud.BoardDAO.boardDetail(..))")
public Object timeLog(ProceedingJoinPoint pjp) throws Throwable{
long startTime = System.currentTimeMillis();
long endTime=System.currentTimeMillis();
System.out.println("Object timeLog(ProceedingJoinPoint pjp)메소드");
System.out.println(pjp.getSignature().getName()+"메소드 접속시간 : "+(endTime-startTime)+"초\n");
Object result=pjp.proceed();
return result;
}//end
//@Before("execution(public * net.hb.crud..*(..))")
@Before("execution(public * net.hb.crud.BoardDAO.boardDetail(..))")
public void open( ){
System.out.println("public * net.hb.crud.BoardDAO.boardDetail(..)이 시작되기 전에");
}//end
//@After("execution(public * net.hb.crud..*(..))")
@After("execution(public * net.hb.crud.BoardDAO.boardDetail(..))")
public void close( ){
System.out.println("public * net.hb.crud.BoardDAO.boardDetail(..)이 시작된 후에");
}//end
}//class END
* 실행이 안 될 경우에 aop 체크를 해주자
728x90
반응형
'개발중 > Spring' 카테고리의 다른 글
차트 만들기 (0) | 2020.11.18 |
---|---|
Ajax 을 이용한 insert (0) | 2020.10.22 |
pom.xml 문서 기록 (0) | 2020.10.20 |
mytabis 연동 설정 (0) | 2020.10.20 |
db.properties (0) | 2020.10.20 |