Spring学习总结二——Spring_AOP

SpringAOP之探秘(动态代理、责任链模式、注解使用) SpringAOP之探秘(动态代理、责任链模式、注解使用)- 详情:https://blog.youkuaiyun.com/Dream_Weave/article/details/85008674 立即下载

一、什么是AOP?

 

  1. AOP:面向切面编程,采用的是横向抽取机制,将分散在各分方法上的重复代码提取出来,然后再程序编译或者是运行时,再将这些提取出来的代码应用到需要执行的方法。
  2. AOP的本质是代理。对方法进行增强
  3. JDK动态代理 --> 基于接口
  4. CGLIB代理  --> 基于子类

二、Spring AOP面向切面编程

            execution(返回类型 包路径.方法  )

           * 代表任意类型,或是类上的所有

          ..代表任意多个参数。 如果用在包路径上 指:当前包和子包下的所有

          execution(* com.szy..*.*(..) : com.szy包下的所有类,不包括包下的。

  1. Advice通知:aop在切点上执行的增强处理。
  2. Pointcut切点:对哪些类、哪些方法进行增强。
  3. Aspect切面:通常是一个类,里面定义了通知和切点。   aop = 通知 + 切点
  4. 五种通知的类型:
    1. 前通知:方法执行之前发出的通知
    2. 后通知:方法执行之后发出的通知,又称最终通知,无论如何都会执行
    3. 返回后通知:成功返回后的通知,只有正常返回才会执行
    4. 异常通知:发生异常后的通知(适合做事务),只有异常抛出的时候执行
    5. 环绕通知:在方法的执行前后进行一些增强,在方法执行前后进行一些通知  = 前通知+后通知
  5. PointCut切点
    1. JDK**PointCut  基于正则表达式的切点
    2. AspectJExpressionPointCut  基于aop的切点表达式

三、使用AspectJ开发

  1. 基于XML配置文件方式
  2. 基于注解的AspectJ开发

四、Spring和Mybatis整合思想

  1. mybatis:持久层框架
  2. spring:容器,管理类的。
    1. 可以管理会话工厂,会话工厂的特点是:一旦创建一直存在。最好设计为单例的。而spring正好设计为scope为单例模式。
    2. 可以管理mapper

五、spring的事务管理

  1. xml配置文件方式
  2. 注解事务

              <tx:annotation-driven transaction-manager="transactionManager"/> 

    1. <!-- 开启注解 -->
    2. @Transactional 
      1. 可以注解到方法上,表示当前方法进行事务管理
      2. 可以注解到类上,表示当前类的所有方法都进行事务管理

      注意:1、spring的事务管理,一定要对进行事务管理的地方往外抛异常,而不能try…catch..捕捉异常

               2、如果想主动对事务进行回滚,可以往外抛异常throw new RuntimeException( );

实战|mitmproxy+Playwright 拦截篡改Cloudflare验证流程,实现无感爬取(2026实测可用) 2026年对抗Cloudflare,别再死磕滑块、轨迹、算法。高伪装浏览器 + 中间层劫持篡改验证流程Playwright + mitmproxy = 无感过CF这篇是纯实战、无废话、可直接上线的方案。你只要把目标网站、cf_clearance填进去,就能跑通。 阅读详情

相关推荐

robomimic实验复现全流程指南:从数据集下载到训练视频生成

本文提供了RoboMimic实验复现的完整实战指南,重点解析了从数据集下载、配置文件定制到模型训练与评估的全流程。以tool_hang任务为例,详细说明了环境准备、数据获取、训练监控及视频生成等关键步骤,并针对常见问题给出了排查方案,帮助研究者高效完成机器人模仿学习实验的闭环验证。

2w3e4r5t6y的博客 1031

spring aop日志处理

元注解方式结合AOP,灵活记录操作日志 能够记录详细错误日志为运维提供支持 日志记录尽可能减少性能影响

u013217730的博客 176

python模拟银行交易流水

模拟自动生成银行交易流水,其中包括:入账账号、出账账号、交易金额、交易余额、交易时间、出入表示关键字段

qq_31823889的博客 2910

面试问烂的 Spring AOP 原理、SpringMVC 过程(求求你别问了)

Spring AOP ,SpringMVC ,这两个应该是国内面试必问题,网上有很多答案,其实背背就可以。但今天笔者带大家一起深入浅出源码,看看他的原理。以期让印象更加深刻,面试的时候游刃有余。 Spring AOP 原理 简单说说 AOP 的设计: 每个 Bean 都会被 JDK 或者 Cglib 代理。取决于是否有接口。 每个 Bean 会有多个“方法拦截器”。注意:拦截器分为两层,外层由 ...

weixin_34186128的博客 9034

群晖NAS变身私有Git服务器:DS218+部署与TortoiseGit客户端实战指南

本文详细介绍了如何将群晖NAS(如DS218+)变身为私有Git服务器,并配置TortoiseGit客户端实现高效代码管理。通过硬件检查、系统更新、Git Server套件安装及权限配置等步骤,帮助开发者在局域网内搭建安全、高速的代码托管环境,特别适合小团队协作。

weixin_29252171的博客 223

restbed编译笔记

Restbed 可以构建出基于asio库的restfulAPI服务,Restbed 4.7版本使用了1.12.0版本的asio(其他版本编译不通过),可直接访问github下载:https://github.com/chriskohlhoff/asio/tree/asio-1-12-0。另外Restbed还依赖openssl库(可直接下载exe的安装包,安装后取出lib库及头文件放到到restbed\dependency\openssl中即可,https://slproweb.com/download/W.

mahong100的博客 2106

【Spring学习之路】2-1 AOP入门知识

AOP入门知识什么是AOPAOP实现原理AOP相关术语(想入门AOP必须先掌握这个) 什么是AOP AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP(面向对象编程)的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业...

IT Crowd的博客 240

SAP-MM-采购过账接口(与WMS集成)-代码

1、判断传入值非空检验; 2、判断过账日期是否允许在当前期间; 3、判断是否为集采订单业务,是否审批完成; 4、判断是否发布标准成本发布(此业务场景与价格控制3+S有关) 5、保存日志表; 6、判断业务公司订单审批状态; 7、创建STO交货单、集采公司订单过账、STO公司间创建交货单、交货单过账(两步法)、过账失败回滚(冲销交货、删除交货单、冲销集采入库)

qq_32198063的博客 420

spring aop与事务小结

项目需要,搭建过程使用了spring+mybatis+mysql,一台服务器需要同时连接两个数据库AB。其中,AB两库分区域部署,各为该区域的主库,领导反馈mysql异步复制不可靠,因此需要在程序里自行实现双写。踩过的坑:使用spring注解事务,对service层的方法进行注解,@afterreturning后用数据源选择器,切换数据源调用joinpoint的proceed方法,当insert语...

bin244086124的博客 732

华为od 面试八股文_Python_05_含答案

华为od 面试八股文_Python_05_含答案

MISAYAONE的博客 2556

英伟达(NVIDIA) 显卡型号、计算能力(CC)、CUDA版本、PyTorch版本 对照表

本文全面梳理NVIDIA显卡型号与其计算能力(CC)的对应关系,并详解各代CUDA版本对不同架构的支持与弃用情况,帮助用户判断硬件兼容性。同时,结合PyTorch官方发布版本,整理其支持的CUDA版本清单,指导开发者合理选择深度学习环境配置。涵盖从Jetson嵌入式设备到H100、Blackwell等最新旗舰显卡,是一份实用的AI开发环境搭建参考指南。

寒水馨 · 轻量级技术文档 · hanshuixin.org 4885

SpringBoot AOP学习(二):Spring AOP实现日志功能

Spring AOP实现日志功能代码示例

菜菜bu菜的博客 5847

059、RealBasicVSR 实战:真实场景视频超分的退化建模与优化技巧

本文分享了RealBasicVSR在真实场景视频超分中的实战经验。针对传统方法假设理想化下采样导致的性能瓶颈,重点阐述了三个关键技术点:1)通过可学习退化编码器建模复杂未知退化过程,避免手动设计退化参数的局限;2)采用双向传播和DCN对齐增强时序一致性;3)组合多种损失函数并优化训练策略(如余弦退火学习率、随机退化增强)。作者结合项目实践指出了显存管理、训练时长、评估指标等常见问题,并给出实用建议:优先验证数据退化复杂度,重视数据预处理,合理调整超参数。文章强调真实场景视频超分的核心在于让模型自适应未知退化

ai技术增长的博客 180

Spring学习(二)——AOP

概念 AOP(Aspect Oriented Programming)面向切面编程:通过预编译方式和运行期动态代理实现程序功能统一维护的一种技术。 AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范式。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发效率。 AOP在Spring中的作用 提供声明式编程:允许用户自定义切面 相关术语概念: 横切关注点:跨越应用程序多个模块的方法或

qq_35003730的博客 202

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Spring 学习(二)AOP

Aspect Oriented Programming,即面向切面编程。对一个大型项目的代码而言,整个系统要求关注安全检查、日志、事务等功能,这些功能实际上“横跨”多个业务方法。在一般的OOP编程里,需要在每一个业务方法内添加相关非业务方法的调用,这实际上是冗余的。如果能够类似IoC一样,这样的安全检查,日志,事务功能单独提取放到外面,核心业务方法不需要关注,就能降低代码耦合度。核心逻辑Service切面逻辑,即:权限检查的Aspect;日志的Aspect;事务的Aspect。

good_jiojio的博客 415

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Spring框架的学习二- AOP

AOP的基本概念 Spring面向切面编程,Spring事AOP的一种实现,AspectJ是另一种流行的AOP实现; 首先牢记关于AOP的相关概念 Spring提供了4种类型的AOP支持: 基于代理的经典Spring AOP(没有看过,不懂) 纯POJO切面(这个需要XML配置的支持,因为POJO只是提供了满足切点条件时所要调用的方法,这就是声明式地将对象转换为切面的简便方式) @AspectJ注解驱动的切面 注入式AspectJ切面(适用于Spring各版本) 前三种都是Spring AOP实现的变体

tangyuan1234567的博客 277

AOP学习笔记(二)——Spring AOP

1、什么是AOP      AOP(Aspect-Oriented Programming),面向切面编程,是OOP的补充,主要用于将与业务逻辑无关的代码剥离,例如:性能监控、日志记录、权限控制等。 2、实现方案      静态代理      JDK动态代理      CGLIB动态代理 3、现有AOP框架:Spring AOP      前置增强、后置增强、环绕增强(编程式)  

chenmr's blog 390

Spring学习笔记二 AOP

1.Spring AOP(基于AspectJ框架的AOP使用) 1.1实现步骤 导入jar包 添加命名空间 配置bean <bean id="MyAdvice" class="cn.wang.advice.MyAdvice"></bean> <bean id="PersonService" class="cn.wang.service.PersonService"&g...

weixin_44036441的博客 131

Spring AOP系列学习笔记二:AOP入口分析

原文地址程序员囧辉大佬 文章目录前言基于xml的方式AspectJAutoProxyBeanDefinitionParser#parse代码块一:registerAspectJAnnotationAutoProxyCreatorIfNecessary代码块二:AopConfigUtils#registerAspectJAnnotationAutoProxyCreatorIfNecessary 前言 我们分析基于注解的aop应该如何做,无论是xml配置(<aop:aspectj-autoproxy

zhengguofeng0328的博客 421

spring学习(二 )aop

spring中基于aop的配置步骤 1.把通知bean交给spring管理 2.使用aop:config标签开始aop配置 3,使用aspect配置切面(id标志 ref通知类bean的id) 4.在aspect内部使用对应标签来配置通知类型(AOP:before method) 5.pointcut表示指定切入点表达式 写法: 关键字:execution 表达式: 访问修饰符 包明。。。类名。方法名 public void com.spring_learn,..... 全通配写法:* *..*.*(..)

qq_37439229的博客 246

Spring学习笔记(二)——AOP及Spring事务学习

这周末来学习一下Spring的另一个重点,AOP及Spring中的事务学习,我之前写过关于事务的文章,都是说在工作中应该如何运用,今天补充一下基础内容,尽量用一些直白的话来说明作用,然后整理一下前段时间偶然听到的面试问题,好了,我们现在开始。

虚心学习,和气编码 404

Spring框架学习(二)——AOP

a

0117 211

【Java学习之Spring】Spring AOP学习笔记(二)

Spring对AOP的支持 Spring中AOP代理由Spring的IOC容器负责生成、管理,其依赖关系也由IOC容器负责管理,故AOP代理可以直接使用容器中的其它bean实例作为目标,这种关系可由IOC容器的依赖注入提供。 Spring创建代理的规则为: 1、默认使用Java动态代理来创建AOP代理,这样就可以为任何接口实例创建代理了 2、当需要代理的类不是代理接口的时候,Spring会...

Qregi的博客 395

Spring学习笔记(二)AOP

Spring学习笔记(二)AOP AOP AOP(Aspect-Oriented Programming,面向切面编程):是一个编程思想,是对OOP的补充。 AOP的主要编程对象是切面(aspect),而切面模块化横切关注点。 在应用AOP时,需要定义公共功能,明确定义的功能位置,以什么方式应用,但不必修改受影响的类。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H7Etj2kT-1590487896455)(/home/dream/blog/csdn博客/spring

qq_43366662的博客 244

基于XML的Spring框架学习(二)——AOP

Spring框架中AOP切面编程的示范,包含切面的类型、规范、形式、要求等

ifhuke的博客 420

spring学习笔记二 注解及AOP

spring学习笔记二 注解及AOP 注解: 使用注解的目的是为了代替配置,在使用注解时,省略键时,则是为value赋值。扫描某个包下的所有类中的注解. <?xml version="1.0" encoding="UTF-8"?> <b...

weixin_30305735的博客 102
上一篇: Spring学习总结一——Spring_IOC
下一篇: SpringMVC学习总结一——认识SpringMVC及工作流程
Love_codes
博客等级 码龄8年 16粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值