Spring AOP面向切面编程(一)

1. AOP:面向切面编程  (Aspect Oriented Programming)

         正常程序执行流程都是纵向执行流程 ,在原有纵向执行流程中添加横切面
               不需要修改原有程序代码
                       1. 高扩展性
                       2. 原有功能相当于释放了部分逻辑 . 让职责更加明确 .

2.面向切面编程是什么?

          在程序原有纵向执行流程中,针对某一个或某一些方法添加通知,形成横切面过程就叫做面向切面编程.

3.常用概念

  • 切面:  前置+切点+后置的整体小模块
  • 切点:原有功能: pointcut
  • 前置通知: 在切点之前执行的功能. before advice
  • 后置通知: 在切点之后执行的功能,after advice
  • 异常通知:如果切点执行过程中出现异常,会触发异常通知.throws advice
  • 织入: 把切面嵌入到原有功能的过程叫做织入.形成切面的过程

4.spring提供了2AOP实现方式(详细见下一篇博客)

问题1:
     系统升级:就是在保留原有功能的基础上添加新的功能。
     必须去修改源码然后重新部署项目。
问题2:
     进行功能开发时,发现功能的实现会依赖其他的代码,这样就需要将所有的代码封装到方法中
     造成方法的职责不明确,甚至代码出现冗余,以及不好升级。
 解决:使用AOP思想进行解决
 实现:Spring AOP
 使用:
       1. Schema-based
             1.1 每个通知都需要实现接口或类
             1.2 配置 spring 配置文件时在 <aop:config> 配置
        2. AspectJ
             2.1 每个通知不需要实现接口或类

             2.2 配置spring配置文件是在<aop:config>的子标签<aop:aspect>中配置


木子璇总结时刻:欢迎小伙伴们提出建议哦,如有错误,望大神指出哦,谢谢啦。

猜你喜欢

转载自blog.csdn.net/qq_41617744/article/details/80272025