AOP

作者: 1218fb85bdd6 | 来源:发表于2018-01-09 13:17 被阅读2次

大家好,我是IT修真院北京分院第28期的学员,一枚正直纯洁善良的java程序员

今天给大家分享一下,修真院官网java任务1,深度思考中的知识点——spring Aop。

1.背景介绍

AOP是什么

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

AOP用来干什么

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

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

Aspectj是什么

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

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

2.知识剖析

切面分类:

前置通知,后置通知,环绕通知,异常通知,最终通知

Aspectj切点表达式:

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

返回值类型

方法名(参数名)

* 0至多个字符

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

3.常见问题

1、环绕通知无效

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

4.解决方案

1、返回值类型Object写成了void

2、切点表达式中没有写参数  

5.编码实战

6.扩展思考

AOP基于spring实现

7.参考文献

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

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

8.更多讨论

9.鸣谢

视频:https://v.qq.com/x/page/j0531a8c8ub.html

PPT:https://ptteng.github.io/PPT/PPT-java/java-task3-AOP.html#/

结束语:

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

相关文章

网友评论

    本文标题:AOP

    本文链接:https://www.haomeiwen.com/subject/zvbwnxtx.html