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