首页 > 其他分享 >Spring笔记4——AOP

Spring笔记4——AOP

时间:2023-03-06 09:02:17浏览次数:31  
标签:spring Spring AOP 笔记 原始 通知 返回值 异常

概念

 

如何实现无入侵式增强?

 

 

 

 

 

 

 

AOP入门案例思路分析

 

 

 

 

 

 

 

AOP工作流程

 

 

 只读取pt,不读取ptx。

 

 spring的AOP内部就是用代理模式来实现

 

 在spring中保存的就是代理对象

 

 AOP切入点表达式

 

 

 通配符

 

 “*”不是广义上的任意,在参数里它表示必有一个参数;“..”表示的任意是可有可无可有多个的任意。

“+”代表子类

 

 

AOP通知类型

 

 前置通知和后置通知

 

 

 

环绕通知

 

 

 

手动调用原始操作,强制抛出异常

 用around对原始操作做增强的话,原始方法如果有返回值,在最后还要手动把返回值扔出去。而且是object类型。

 

 

 

 

返回后通知

 

 只有原始操作没有异常它才会运行。

 

 

抛出异常后通知

 

 

 

案例

 

 

AOP通知获取数据

 

 参数每个类型的通知都能拿,但返回值和异常不是。

 

标签:spring,Spring,AOP,笔记,原始,通知,返回值,异常
From: https://www.cnblogs.com/ban-boi-making-dinner/p/17172576.html

相关文章

  • Spring Boot 实现装饰器模式,真香!
    前言本文配合实战案例介绍我们平时在springboot项目里面怎么去用装饰器模式、多层装饰怎么玩。首先先说下装饰器模式是什么装饰器模式(DecoratorPattern)也称为包装......
  • 数据库学习笔记
    数据库学习笔记1、基本知识与关系模型从思维的角度学习。第一讲初步认识数据库系统Table的构成和常用术语:表名、表标题、(格式)、表内容、(行/元组/记录row/tuple/r......
  • 大数据导论课程笔记
    网络爬虫爬虫教程点击查看代码#-*-codeing=utf-8-*-#导入相关的包#BeautifulSoup是网页解析的开源库#request的作用是发送网络请求frombs4importBeauti......
  • node学习笔记(四)--- 知识点归集
    1、利用node原生封装一个求文件hash的方法const{createHash}=require('crypto');const{createReadStream}=require('fs');constgetFileMd5=(filePath)=......
  • C语言数据类型笔记
    Unsigned如果一个字面量常数想要表达自己是unsigned,可以在后面加u或U255U用l或L表示long(long)*unsigned的初衷并非扩展数能表达的范围,而是为了做纯二进制运算,主要是......
  • 使用注解开发SpringMVC,也是以后开发的模板(重点)
    注解版配置SpringMVC(重点)第一步:新建一个moudel,添加web支持!建立包结构top.lostyou.controller第二步:由于maven可能存在资源过滤问题,我们将配置完善<!--在build中......
  • Fireasy3 揭秘 -- 使用 SourceGeneraor 实现动态代理(AOP)
    目录Fireasy3揭秘--依赖注入与服务发现Fireasy3揭秘--自动服务部署Fireasy3揭秘--使用SourceGeneraor改进服务发现Fireasy3揭秘--使用SourceGeneraor......
  • Qt学习笔记 - 第一章 - 快速开始、信号与槽
    Qt学习笔记全系列传送门:【本章】Qt学习笔记-第一章-快速开始、信号与槽Qt学习笔记-第二章-添加图片、布局、界面切换目录1、Qt工程创建2、工程文件......
  • springmvc配置文件
    <?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"......
  • Python学习笔记(七)字符串操作
    一、数据类型转换%s字符串%d数值整数%f浮点数formatf表达式挖坑填坑法则1name='张三'2age=183height=180.545print('我的名字是%s'%name)6p......