其他分享
首页 > 其他分享> > spring aop小结

spring aop小结

作者:互联网

二. Springaop

1. 增强类型

1) @Before:前置增强

2) @After:后置增强,不管是否抛出异常,相当于finally代码块的代码

3) @AfterThrowing异常后增强:

4) @AfterReturning:返回后增强,相当于方法执行后紧接着的代码

5) @Around:环绕增强,传入一个ProceedingJoinPoint用于调用业务模块的代码的对象,可以实现其他四类增强所有功能

 

2.各种增强调用时间

业务方法:Public String  businessMethod(){

}

动态代理回调中的方法执行顺序

invoke(){

try{

   @Before

   String result =businessMethod();

   @AfterReturning

}catch(Exception e){

  @AfterThrowing

}finally{

  @After

}

}

 

2.常用切点表达式

1.方法切点表达式

1) 例子:

execution(public * com.spring.service.BusinessObject.businessService(java.lang.String,..))

2)说明:

指定方法的访问控制修饰符、返回值、包名、方法名、参数名、声明抛出的异常

 

2.类切点表达式

1) 例子:

指定类:within(com.spring.service.BusinessObject)

指定包但不包含子包:within(com.spring.service.*)

指定包但包含子包:within(com.spring.service..*)

 

特殊用法:指定使用了某个注解的类:

@within(com.spring.annotation.BusinessAspect)

 

3.参数切点表达式

1) 例子:

指定方法参数: args(java.lang.String,..,java.lang.Integer)

 

特殊用法:指定参数上使用了某个注解的方法

@args(com.spring.annotation.BusinessAspect)

 

4.注解切点表达式

指定使用了注解的方法:

@annotation(com.spring.annotation.BusinessAspect)

 

 

    

 

标签:String,spring,within,指定,切点,com,aop,小结
来源: https://www.cnblogs.com/mk190705/p/15314244.html