문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판이전 판다음 판 | 이전 판 | ||
| spring:home [2018/09/02 15:08] – [AOP란?] taekgu | spring:home [2025/04/15 10:05] (현재) – 바깥 편집 127.0.0.1 | ||
|---|---|---|---|
| 줄 5: | 줄 5: | ||
| * [[spring: | * [[spring: | ||
| + | - [[https:// | ||
| + | - [[https:// | ||
| + | - [[https:// | ||
| ==== DI(Dependency Injection)와 IOC컨테이너 ==== | ==== DI(Dependency Injection)와 IOC컨테이너 ==== | ||
| 줄 193: | 줄 196: | ||
| * XML스키마기반의 AOP구현 | * XML스키마기반의 AOP구현 | ||
| * @Aspect어노테이션기반의 AOP구현 | * @Aspect어노테이션기반의 AOP구현 | ||
| + | 용어정리 | ||
| * Aspect : 공통 기능 | * Aspect : 공통 기능 | ||
| * Advice : Aspect의 기능 자체 | * Advice : Aspect의 기능 자체 | ||
| 줄 221: | 줄 224: | ||
| </ | </ | ||
| + | </ | ||
| + | |||
| + | <code java> | ||
| + | package com.taekgu.ex; | ||
| + | |||
| + | import org.aspectj.lang.ProceedingJoinPoint; | ||
| + | |||
| + | public class LogAop { | ||
| + | public Object loggerAop(ProceedingJoinPoint joinpoint) throws Throwable { | ||
| + | String signatureStr = joinpoint.getSignature().toShortString(); | ||
| + | System.out.println(signatureStr + "is start." | ||
| + | long st = System.currentTimeMillis(); | ||
| + | try { | ||
| + | Object obj = joinpoint.proceed(); | ||
| + | return obj; | ||
| + | } finally { | ||
| + | long et = System.currentTimeMillis(); | ||
| + | System.out.println(signatureStr + " is finished." | ||
| + | System.out.println(signatureStr + " 경과시간 " + (et - st)); | ||
| + | } | ||
| + | } | ||
| + | } | ||
| </ | </ | ||