1.切面类的实现
切面类都是通过实现各种特定的接口来实现的,缺点是必须要实现特定的接口,且一个类基本上只有一个重写方法是有用的。
对于普通的类,若不实现特定的接口,可以通过可以通过注解转化为切面类(通知类)
2.注解的作用
@Aspect注解将此类定义为切面
@Before注解用于将目标方法配置为前置通知
@AfterReturning注解用于将目标方法配置为后置通知,在方法执行完毕后有返回值
@Around定义环绕通知
@AfterThrowing配置异常通知
@After也是后置通知,在方法执行完毕后没有返回值
3.关键代码
applicationContext.xml文件
<!-- 配置组件扫描器,在指定的基本包中扫描注解 -->
<context:component-scan base-package="com.xiaochen" />
<!-- 启动对@AspectJ注解的支持 -->
<aop:aspectj-autoproxy />
<!-- 为添加注解的myLog类创建一个Bean -->
<bean id="myLog" class="com.xiaochen.aop.MyLog" />
MyLog.java文件
//将此类定义为切面
@Aspect
public class MyLog
//将目标方法配置为前置通知
@Before("execution(* com.xiaochen.service.UserService.addUser())")
public void beforeMethod() {}
//将