spring中AOP注解开发示例详解-创新互联
创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
创新互联建站是专业的顺德网站建设公司,顺德接单;提供成都做网站、网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行顺德网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!一、简介
AOP主要包含了通知、切点和连接点等术语,介绍如下:
通知(advice)
通知定义了切面是什么以及何时调用,何时调用包含以下几种
- Before 在方法被调用之前调用通知
- After 在方法完成之后调用通知,无论方法执行是否成功
- After-returning 在方法成功执行之后调用通知
- After-throwing 在方法抛出异常后调用通知
- Around 通知包裹了被通知的方法,在被通知的方法调用之前和调用之后执行自定义的行为
切点(PointCut)
通知定义了切面的什么和何时,切点定义了何处,切点的定义会匹配通知所要织入的一个或多个连接点,
我们通常使用明确的类的方法名称来指定这些切点,或是利用正则表达式定义匹配的类和方法名称来指定这些切点。
连接点(JoinPoint)
连接点是在应用执行过程中能够插入切面的一个点,这个点可以是调用方法时,抛出异常时,甚至是修改一个字段时,
切面代码可以利用这些连接点插入到应用的正常流程中,并添加新的行为,如日志、安全、事务、缓存等。
joinPoint.getSignature().getDeclaringTypeName()
可以获取到调用方法的类名(包括包名),joinPoint.getSignature().getName()
可以获取方法名,Arrays.toString(joinPoint.getArgs())
得到的是方法调用的参数列表,joinPoint.proceed()
可以得到方法的返回结果
二、注解开发
声明一个切面,只需要在类名上添加@Aspect属性即可,具体的连接点,我们用@Pointcut和@Before、@After等标注。
在声明前 我们需要依赖配置pom
org.aspectj aspectjrt 1.6.11 org.aspectj aspectjweaver 1.6.11
分享标题:spring中AOP注解开发示例详解-创新互联
网站链接:http://ybzwz.com/article/hphch.html