Spring之AOP

动态代理

动态代理:

  1. 代理对象
  2. 目标对象

 

通过动态代理的类全都继承proxy类

 

为什么找代理对象?

 

 

InvocationHandler:代理对象实现功能的方式

Object[] args代表的就是参数列表

Object… args 长度可变的参数列表

 

作业:实现日志功能

 

AOP

AOP概述

OOP:面向对象编程  纵向继承机制    找到对象 调用对象方法

AOP:面向切面编程  横向抽取机制    把某些代码抽取出来 作用到

(AOP是对OOP的补充,两者间不是谁包含谁的关系)

切面(aspect):保存公共功能(横切关注点)的类

AOP的好处

每个事物逻辑位于一个位置,代码不分散,便于维护和升级

业务模块更简洁,只包含核心代码

AOP图解

 

AOP术语

横切关注点

从每个方法中抽取出来的同一类非核心业务

切面(Aspect)

封装横切关注点信息的类,每个关注点体现为一个通知方法

通知(Advice)

切面必须要完成的各个具体工作

通知(切面中的叫法)与横切关注点(抽取类中的叫法)不同地方不同的叫法

 

目标

被通知的对象

代理

向目标对象应用通知之后创建的代理对象

连接点

 

在Spring中启用AspectJ注解支持

Aspect是Java社区里最完整最流行的AOP框架

导入jar包

 

引入aop命名空间

 

Copy qualified Name获取方法所在包名、类名以及参数类型

 

com.atguigu.spring.aop.MathImpl.add(int, int)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值