美文网首页
Spring AOP面向切面编程

Spring AOP面向切面编程

作者: 花无缺_0159 | 来源:发表于2019-02-08 16:41 被阅读0次

【目录】
1 什么是AOP
2 Spring AOP编程两种方式
3 Spring AOP编程代理两种方式
4 Spring AOP编程相关术语
5 Spring AOP配置

1 什么是AOP ?

AOP (Aspect Oriented Programing) 称为:面向切面编程,OOP(面向对象编程)思想的延续 。
AOP采取横向抽取机制,取代了传统纵向继承体系重复性代码(性能监视、事务管理、安全检查、缓存,日志记录等)。简单来说,就是基于代理思想,对原来目标对象,创建代理对象,在不修改原对象代码情况下,通过代理对象,调用增强功能的代码,从而对原有业务方法进行增强 。

AOP思想概念举例

2 Spring AOP编程两种方式

简单的说,Spring内部支持两套AOP编程的方案:

  • Spring 1.2 开始支持AOP编程 (传统SpringAOP编程),编程比较复杂,了解即可 。
  • Spring 2.0 之后支持第三方 AOP框架(AspectJ ),实现另一种 AOP编程——推荐使用。

3 Spring AOP编程代理两种方式

Spring AOP是基于动态代理的——优先选用JDKProxy动态代理;

  1. Proxy动态代理:被代理的对象必须要实现接口;
  2. Cglib动态代理:被代理的对象不能被final修饰,基于继承。
代理知识小结

4 Spring AOP编程相关术语

以代理小学生写暑假作业为例:

术语表

简单说切面就是需要代理一些方法和增强代码 。

5 Spring AOP配置

开发方法:
确定目标(bean)——编写通知——配置切点切面
具体为:
a) 导包:
i. 基本包;
ii. spring-aspects和spring-aop ;
iii. aop联盟包 – aopalliance;
iv. aop织入包 - aspectj.weaver;
b) 自定义通知,五种自定义通知类型:
i. before 前置通知
ii. after 最终通知(后置通知)
iii. afterReturning 成功通知(后置通知)
iv. afterThrowing 异常通知(后置通知)
v. around 环绕通知

各种Advice方法可接收的参数和返回值小结

c) 配置applicationContext.xml。

注:部分内容来自SiKi学院。

相关文章

网友评论

      本文标题:Spring AOP面向切面编程

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