springaop应用实例
时间: 2023-11-08 14:05:09 浏览: 96
一个常见的Spring AOP应用实例是日志记录。通过在方法执行前后添加日志记录的切面,可以方便地记录方法的执行时间、参数、返回值等信息,便于后续的调试和分析。
例如,我们可以定义一个切面类来实现日志记录:
```java
@Aspect
@Component
public class LoggingAspect {
private static final Logger logger = LoggerFactory.getLogger(LoggingAspect.class);
@Around("execution(* com.example.service.*.*(..))")
public Object logExecutionTime(ProceedingJoinPoint joinPoint) throws Throwable {
long startTime = System.currentTimeMillis();
Object result = joinPoint.proceed();
long endTime = System.currentTimeMillis();
logger.info("{} executed in {} ms", joinPoint.getSignature(), endTime - startTime);
return result;
}
}
```
上述代码中,我们使用@Aspect注解标记该类为切面类,使用@Around注解标记需要织入切面的方法。在logExecutionTime方法中,我们使用ProceedingJoinPoint对象获取方法的签名、参数等信息,并在方法执行前后记录日志。
阅读全文