Aspectj实现aop

java分享会

分享人:曲艳行

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

AOP是什么

AOP(Aspect Orient Programming),面向切面编程,面向对象编程OOP的一种补充,底层采用动态代理方式实现

AOP用来干什么

面向切面编程,就是将交叉业务逻辑封装成切面,利用AOP容器的功能织入到主业务逻辑中。

交叉业务逻辑:指通用的、与主业务逻辑无关的代码,例如安全检查、事务、日志等

Aspectj是什么

对于AOP这种思想,很多框架都进行了实现,spring是其中之一,Aspectj也实现了AOP,且方式更简洁方便,支持注解式开发,所以spring又将Aspectj对于AOP的实现引入到自己的框架中

在spring中使用AOP开发时,一般使用Aspectj的实现方式

2.知识剖析

相关术语

切面Aspect

织入Weaving

连接点JointPoint

切入点PointCut

目标对象Target

通知Advice

顾问Advisor

切面分类

前置通知

后置通知

环绕通知

异常通知

最终通知

Aspectj切点表达式

execution(* * ..UserController.*(..))

返回值类型

方法名(参数名)

* 0至多个字符

.. 方法参数中表示任意参数,包名后表示当前包及其子包

3.常见问题

环绕通知无效

有参数的方法无法织入通知

5.编码实战

6.扩展思考

7.参考文献

https://baike.baidu.com/item/Aspectj/4830848?fr=aladdin

http://blog.csdn.net/zl3450341/article/details/7673938

8.更多讨论

鸣谢

感谢观看,如有出错,恳请指正

BY : sweetalin