Spring AOP面向切面编程

2019-02-08  本文已影响0人  花无缺_0159

【目录】
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编程的方案:

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学院。

上一篇 下一篇

猜你喜欢

热点阅读