Spring—AOP

目录

一:AOP(面向切面编程)

1.1 AOP概念(Aspect Orient Programming)

1.2 AspectJ框架的使用

1.2.1 通知(Aspectj表示切面的执行时间用的通知)​编辑

1.2.1 Pointcut位置(切面执行的位置)

二:AOP执行过程


底层就是动态代理 

一:AOP(面向切面编程) 

jdk、CGLIB两种方式

源代码可能改动的比较多

重复的代码比较多

代码难以维护

通过一个类代理对目标的操作就是面向切面编程。

1.1 AOP概念(Aspect Orient Programming)

AOP是面向切面编程:切面就是指附加的功能(日志功能、附加功能、权限监测等)

AOP的作用是让切面功能复用

AOP中的术语

AOP的实现方法由Spring和AspectJ(常用)

 

1.2 AspectJ框架的使用

1.2.1 通知(Aspectj表示切面的执行时间用的通知)

1.2.1 Pointcut位置(切面执行的位置)

任意返回值,任意包名方法名,任意参数列表,只要是public类型

使用AspectJ的框架实现前置注解(@Aspect仅仅表示一个切面类,不能够创建对象)

切面类(Aspect)

时间(Advance)

切入点(pointCut)

前置通知:

@Before(Value = "execution()") 

jointPoint是通知方法中的参数,用于获取目标对象的相关信息

后置通知:

@AfterReturening在目标方法之后执行,res与参数中的值相同

环绕通知:

二:AOP执行过程

首先读取xml文件,在文件中执行<bean>语句,创建对象,然后通过AspectJ框架中的

<aop:aspectj-autoproxy/>

语句找到切面类,再通过切入点表达式找到需要加入切面类的目标对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值