穿越Java - 开发框架篇 第一章 Spring | 第3节 AOP详解

开发环境

基于:IntelliJ IDEAMaven构建工具JDK1.8SpringBoot 2.3.4Spring4.3.28编写。

官人如需使用 IDEA 请阅读教程:IntelliJ IDEA
官人如需使用 Maven 请阅读教程:Maven 构建工具的下载与安装

更多干货

请参考:《穿越 Java 之 语法基础篇》 系列文章
请参考:《穿越 Java 之 Web基础篇 》系列文章
请参考:《穿越 Java 之 开发必备框架篇 》 系列文章
请阅读:《穿越 Java 之 SpringBoot框架篇》系列文章
请阅读:《穿越 Java 之 SpringCloud微服务架构篇》 系列文章

面向切面编程

在这里插入图片描述

类比学习的话,AOP类似于我们之前的过滤器

在这里插入图片描述

常见的AOP的应用:

  • 权限检查
  • 日志记录
  • 性能监控
  • 数据库事务

AOP中相关术语

  • Join point: 连接点。潜在的那些方法。

  • Pointcut: 切点、切入点。其实就是一部分需要改变行为的连接点。

  • Target object: 目标对象。 需要被改变行为的对象。

  • AOP proxy: 代理对象。通过动态代理技术生成的那个对象。

  • Advice: 通知、增强。要改变方法行为的那部分逻辑。

  • Aspect: 切面。 切面 = 切点 + 通知。

  • Weaving: 织入。是将增强应用到切点中的过程。【往往体现为我们的配置】

  • Introduction: 【了解】引介增强。

如何将连接点(Join Point)中的一部分筛选出来作为 切入点( Pointcut)。

  • 理解:
    在数据库领域中使用的是SQL语句。在AOP的领域里面,大家常用的是一种基于AspectJ的表达式语言。 他可以自己实现一个编译器
(一)需要引入Spring 的 aop 模块。**

aspectjweaver-1.8.9.jar 【用到aspectj表达式】

基于XML配置的AOP

  • 定义好目标对象 ,注册到Spring容器中
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 定义好增强对象, 注册到Spring容器中

Spring AOP的底层实现技术

  • 底层是采用 动态代理技术, 而动态代理的实现有两种:

  • 基于JDK标准的动态代理技术

    • 前提: 必须基于接口。
  • 就要第三方(已经集成到Spring框架中)的CgLib的动态代理技术

    • 前提:是基于继承。要求被代理的类不能是 final 声明的类。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值