spring-----aop简介(代码片段)

我永远信仰 我永远信仰     2022-12-04     744

关键词:

需要了解Spring的AOP(面向切面编程),必须要了解一种设计模式——代理模式。

什么是 AOP
AOP (Aspect Orient Programming),直译过来就是 面向切面编程。AOP 是一种编程思想,是面向对象编程(OOP)的一种补充。面向对象编程将程序抽象成各个层次的对象,而面向切面编程是将程序抽象成各个切面。
[外链图片转存中...(img-INmhZWjJ-1625893067024)]

  • 从该图可以很形象地看出,所谓切面,相当于应用对象间的横切点,我们可以将其单独抽象为单独的模块.可以有多个切面。
  • 这也是AOP的底层思想。
    具体实例

1、代理模式(Aop底层原理)

代理模式的分类:

  • 静态代理
  • 动态代理
    在这里插入图片描述

1.1、静态代理

角色:

  • 抽象角色:一般使用接口或者抽象类
  • 真实角色:被代理的角色
  • 代理角色:代理真实角色,代理真实角色后,我们一般会做一些附属操作
  • 客户:访问代理对象的人!

代理模式的好处

  • 可以使真实角色操作更纯粹,不用去关注一些公共的业务
  • 公共业务交给了代理角色,实现了业务的分工
  • 公共业务发生扩展的时候,方便集中管理

1.2、动态代理

  • 和静态代理一样
  • 动态代理类是动态生成的,不是我们直接写好的
  • 两大类:基于接口、基于类
    • 基于接口——JDK代理
    • 基于类——cglib
    • Java字节码

了解两个类:

-  Proxy,代理类;
-  InvocationHandler,调用处理程序类

动态代理的好处:

  • 可以使真实角色操作更纯粹,不用去关注一些公共的业务
  • 公共业务交给了代理角色,实现了业务的分工
  • 公共业务发生扩展的时候,方便集中管理
  • 一个动态代理类代理的的是一个接口,一般对应的是一类业务
  • 一个动态代理类可以代理多个类,只要是实现了同一个接口即可。

2、AOP

使用Spring实现Aop

在这里插入图片描述

名词解释:

  • 切面:是一个类。Log类
  • 通知:类中的方法。
  • 目标:被通知的对象。log中的方法在那里执行
  • 切入点:after、before。在目标执行的位置

在这里插入图片描述

spring--基于xml的aop开发(代码片段)

01:Spring–AOP简介02:Spring–基于XML的AOP开发03:Spring–基于注解的AOP开发1.快速入门快速入门步骤:1.1导入相关依赖pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns= 查看详情

spring--aop简介

01:Spring–AOP简介02:Spring–基于XML的AOP开发03:Spring–基于注解的AOP开发1.AOP简介1.1什么是AOP1.2AOP的作用及其优势作用:在程序运行期间,在不修改源码的情况下对方法进行功能增强优势:减少重复代码,提高开... 查看详情

学习笔记——spring简介;spring搭建步骤;spring的特性;spring中getbean三种方式;spring中的标签(代码片段)

2023-01-13一、Spring1、Spring简介(1)Spring是一个为简化企业级开发而生的开源框架。(2)Spring是一个IOC(DI)和AOP容器框架。IOC:InversionofContriol(控制反转,即将对象的控制权交给Spring)AOP:Aspect-OrientedProgramming,面向切面编程DI:De... 查看详情

spring-aop(代码片段)

一.动态代理1.创建一个接口ArithmeticCalculatorpackagecom.atguigu.spring.aop.helloworld;publicinterfaceArithmeticCalculatorintadd(inti,intj);intsub(inti,intj);intmul(inti,intj);intdiv(inti,intj);2.创建接口的实现类packag 查看详情

spring--aop就这么简单(代码片段)

Spring–AOP就这么简单使用SpringAPI实现Aop<!--https://mvnrepository.com/artifact/org.aspectj/aspectjweaver--><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</ 查看详情

spring--aop就这么简单(代码片段)

Spring–AOP就这么简单使用SpringAPI实现Aop<!--https://mvnrepository.com/artifact/org.aspectj/aspectjweaver--><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</ 查看详情

spring——aop(代码片段)

AOP面向切面编程,Spring中的可插拔组件技术在软件业,AOP为AspectOrientedProgramming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术作用将分散在各个方法中... 查看详情

spring注解(aop事务)(代码片段)

...务AOP之前现在pom.xml导入依赖<dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>4.3.12.RELEASE</version></dependency>新增逻辑类com\\spring\\aop\\MathCalculator.javapackagecom.spring.aop;public... 查看详情

spring:aop(代码片段)

目录场景模拟声明接口创建实现类创建带日志功能的实现类现有问题现有代码缺陷解决思路困难代理模式概念介绍生活中的代理相关术语静态代理动态代理测试AOP概念及相关术语概述相关术语横切关注点通知切面目标代理连接点... 查看详情

spring——aop实现的三种方式(代码片段)

AOP实现使用Spring实现Aop需要导入一个依赖包<dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.9.4</version></dependency>一、环境搭建说明 查看详情

spring——aop之spring1中的配置(代码片段)

AOP介绍AOP(Aspect-OrientedProgramming),即面向切面编程,作为面向对象(OOP,Object-OrientedProgramming)的一种补充,广泛应用于处理一些具有横切性质的系统级服务,比如安全性检查、日志记录、事... 查看详情

细说spring——aop详解(*)(代码片段)

一、对AOP的初印象首先先给出一段比较专业的术语(来自百度):在软件业,AOP为AspectOrientedProgramming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技... 查看详情

spring全家桶——springboot之aop详解(代码片段)

Spring全家桶——SpringBoot之AOP详解面向方面编程(AOP)通过提供另一种思考程序结构的方式来补充面向对象编程(OOP)。OOP中模块化的关键单元是类,而在AOP中,模块化单元是方面。准备工作首先,使用AOP要在build.gradle中加入依... 查看详情

spring——aop(代码片段)

AOP面向切面编程,Spring中的可插拔组件技术在软件业,AOP为AspectOrientedProgramming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术作用将分散在各个方法中... 查看详情

spring——aop(代码片段)

AOP面向切面编程,Spring中的可插拔组件技术在软件业,AOP为AspectOrientedProgramming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术作用将分散在各个方法中... 查看详情

切面编程(代码片段)

一、XML实现AOP编程  spring提供了注解的形式实现aop编程,同时也提供xml配置的形式实现,形式不同,最终实现的效果是一致的,下面进行xml实现aop编程的demo具体实现  步骤1.编写切面和切入点packagecom.jyk.spring.aop2;importorg.aspec... 查看详情

spring——aop之spring2.0中的配置(代码片段)

Spring2.0AOPSpring2.0提供了一种更简便也更强大的方式来编写切面,可以通过基于schema的方式,也可以通过@AspectJ注解的方式,这两种方式都提供了完整的AspectJ切入点语言中的通知和使用方法,但是依然使用的是Spr... 查看详情

spring——aop之spring2.0中的配置(代码片段)

Spring2.0AOPSpring2.0提供了一种更简便也更强大的方式来编写切面,可以通过基于schema的方式,也可以通过@AspectJ注解的方式,这两种方式都提供了完整的AspectJ切入点语言中的通知和使用方法,但是依然使用的是Spr... 查看详情