SpringAOP

一、入门开发(AspectJ)

1.基于XML

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.基于注解

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.总结

xml
  1. 在配置文件中配置Bean,将目标类和切面类交给Spring容器管理
  2. 在配置文件中根据需求配置aop
注解
  1. 在配置文件中配置需要扫描注解的包和开启自动代理
  2. 在目标类和切面类上使用注解,即通过扫描后交由Spring容器管理
  3. 在切面类中方法上使用注解,标识目标类中哪些方法需要加强

4.原理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、AOP

1.简介

AOP翻译成中文即面向切面编程,是作为OOP的一种补充。

作用是减少项目中的重复代码,降低模块间的耦合度,提高项目的可维护性

将项目中的一些与业务无关但影响多个对象的公共行为和逻辑,抽取并封装为一个可复用的模块,即形成切面

AOP的核心是代理模式

  • 在Spring AOP框架中 采用动态代理:JDK代理、Cglib代理
  • 在AspectJ框架中 采用静态代理:Aspectj代理

2.术语

  • Target:目标类,需要被代理的类
  • Joinpoint:连接点,可能被拦截(增强)的点
  • PointCut:切入点,已经被拦截(增强)的点
  • Advice:通知,增强代码
  • Weaving:织入,把增强代码应用到目标类来创建代理类的过程
  • Proxy:代理类,目标类被通知增强后的类
  • Aspect:切面,由 通知 + 切入点 形成的面

3.JDK动态代理

  • 目标类:接口CustomerDao+实现类CustomerDaoImpl
  • 切面类:MyAspect
  • 工厂类:MyBeanFactory
  • 测试类:JDKProxyTest

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.CGLIB动态代理

  • 目标类:GoodsDao
  • 切面类:MyAspect
  • 工厂类:MyBeanFactory
  • 测试类:CGLIBProxyTest

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.AspectJ

入门开发中已介绍

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值