分类

安卓应用安卓游戏攻略资讯

编程相关

aspectjweaver.jar

aspectjweaver.jar

大小:1.7 MB

语言:简体中文系统:WinXP, Win2003, Vista, Win7, Win8, Win10

类别:编程相关时间:2017-08-03

spring出现Caused by: java.lang.NoClassDefFoundError: org/aspectj/weaver/BCException的错误时,可能是因为Spring缺少aspectjweaver.jar包,如果spring提示缺少这个文件,异常了,可以前来欧普软件园下载补上哦!

AOP核心概念

  1、横切关注点

  对哪些方法进行拦截,拦截后怎么处理,这些关注点称之为横切关注点

  2、切面(aspect)

  类是对物体特征的抽象,切面就是对横切关注点的抽象

  3、连接点(joinpoint)

  被拦截到的点,因为Spring只支持方法类型的连接点,所以在Spring中连接点指的就是被拦截到的方法,实际上连接点还可以是字段或者构造器

  4、切入点(pointcut)

  对连接点进行拦截的定义

  5、通知(advice)

  所谓通知指的就是指拦截到连接点之后要执行的代码,通知分为前置、后置、异常、最终、环绕通知五类

  6、目标对象

  代理的目标对象

  7、织入(weave)

  将切面应用到目标对象并导致代理对象创建的过程

  8、引入(introduction)

  在不修改代码的前提下,引入可以在运行期为类动态地添加一些方法或字段

aspectjweaver.jar使用方法

  下载完毕解压缩,然后通过代码导入aspectjweaver.jar。

  aspectjrt.jar

  aspectjweaver.jar

  package com.merit.memcache.aop;

  import org.aspectj.lang.JoinPoint;

  import org.aspectj.lang.ProceedingJoinPoint;

  import org.aspectj.lang.annotation.AfterReturning;

  import org.aspectj.lang.annotation.Around;

  import org.aspectj.lang.annotation.Before;

  import org.aspectj.lang.annotation.Pointcut;

  public class MemacheAdvice {

  @Pointcut("execution(* com..*.add*(..))")

  public void addAspect()

  {

  }

  @Before(value="addAspect()")

  public void before(JoinPoint point)

  {

  // User user =(User) point.getArgs()[0];

  //

  // System.out.println("anno-before"+user.getId());

  }

  @AfterReturning(pointcut="addAspect()")

  public void back()

  {

  System.out.println("返回");

  }

  @Around("addAspect()")

  public Object deal(ProceedingJoinPoint point)

  {

  System.out.println("around start");

  Object object=null;

  try {

  object = point.proceed();

  } catch (Throwable e) {

  // TODO Auto-generated catch block

  e.printStackTrace();

  }

  System.out.println("around end");

  return object;

  }

  }

展开

猜您喜欢

同类推荐

网友评论