AOP切面的实现
AOP的全称是Aspect Orient Programming,即面向切面编程。是对OOP(Object Orient Programming)的一种补充,战门用于处理一些具有横切性质的服务。常常用于日志输出、安全控制等。
最近遇到增加操作日志记录功能问题,网上推荐使用切面技术实现,可以在不修改其它模块代码的前提下实现各个模块日志记录。
实现方法:
第一步:添加切面注解@Aspect,如下在切面类之前添加
@Aspect
public classTestAspect {}
第二步:定义切面作用位置,如下* com.manager.base.PubServiceBase.doMain(…)表示在doMain()方法上使用切面, @Pointcut表示切点位置
private final String ExpGetResultDataPonit = "execution(* com.manager.base.PubServiceBase.doMain(..))";
@Pointcut(ExpGetResultDataPonit)
public void controllerAspect() {
}
@Before(value = "controllerAspect()")
public void doBeforeMethod(JoinPoint joinPoint) {
//切面方法
}
第三步:指定前后顺序,@Before表示在doMain()方法之前调用切面方法,适用于安全控制、登录信息日志,@Afterb表示在方法之后调用切面方法,适用于记录结果的操作日志。
第四步:编写切面方法。