使用Java中的aop思想 完成操作日志的insert到数据库
时间: 2023-01-31 20:54:56 浏览: 81
使用Java中的aop思想完成操作日志的insert到数据库,需要在编写两部分代码:
1. 定义切面:在切面中,我们定义了哪些方法是需要被拦截的,以及在方法执行前后需要执行的逻辑。
2. 定义通知:在通知中,我们定义了在切面的方法执行前后要执行的具体操作。
下面是一个简单的例子,展示了如何使用aop完成操作日志的insert到数据库:
```
@Aspect
@Component
public class LogAspect {
@Pointcut("@annotation(com.example.aop.Log)")
public void logPointCut() {}
@Before("logPointCut()")
public void saveLog(JoinPoint joinPoint) {
// 获取方法的参数
Object[] args = joinPoint.getArgs();
// 获取方法的名称
String methodName = joinPoint.getSignature().getName();
// 创建日志对象
Log log = new Log();
log.setMethod(methodName);
log.setArgs(args);
// 保存日志到数据库
logDao.insert(log);
}
}
```
在上面的代码中,我们定义了一个切面`LogAspect`,在该切面中定义了一个切点`logPointCut`,使用了`@Pointcut`注解来声明。然后我们使用了`@Before`注解来声明一个前置通知,在方法执行之前会执行这个通知中的代码。在通知中,我们获取了方法的参数和方法名称,然后创建了一个日志对象,将这些信
阅读全文