首页 > 编程语言 >sprintboot-aop切面编程demo

sprintboot-aop切面编程demo

时间:2024-11-13 11:44:32浏览次数:1  
标签:前置 aop sprintboot demo 编程 切面 AOP 100 方法

AOP(面向切面编程)的核心概念是“切面”

切面是一个跨越多个对象的类,它封装了横切关注点的具体实现。通过定义切面,开发人员可以将通用功能从业务逻辑中分离出来,形成独立的模块。在Spring AOP中,切面由切点(Pointcut)、通知(Advice)和连接点(Joinpoint)组成。切点用于定义哪些连接点上应该应用通知,而通知则是在连接点处执行的代码。

AOP通过将横切关注点与主业务逻辑进行解耦,实现了关注点的模块化和可重用性。这种编程范式提高了代码的组织性、可维护性和可扩展性,使得开发人员可以更容易地管理和维护复杂的软件系统。

试用场景:

  有100个类,希望给这个100个类执行前,执行后都加入日志,记录执行的开始时间和结束时间,使用切面写一个类就可以搞定,不用把写日志的操作在100个方法里都写一遍。如下看如何实现:

一、依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-aop</artifactId>
</dependency>

二、工程结构

三、启动类

四、切面类

五、方法类

六、测试类

七、测试运行

1、指定切面类应用的对象所在的包

(1)execution(* com.example.service.*.*(..))

(2)完整的切面类 如下:

(3)执行的具体方法

(4)执行

(5)输出

2、修改前置方法指定的类

(1)切面类修改

(2)另一个类中的方法

(3)分别运行如下两个测试方法

(4)输出

3、修改前置方法指定的方法

(1)指定到方法

(2)分别运行如下两个测试方法

(3)结果:第二个方法缺少前置输出,说明切面的前置输出只对第一个方法起作用

 源码获取方式(免费):
(1)登录-注册:http://resources.kittytiger.cn/
(2)搜索:springboot-AOP切面编程的demo

 

标签:前置,aop,sprintboot,demo,编程,切面,AOP,100,方法
From: https://www.cnblogs.com/yclh/p/18543578

相关文章

  • AOP(面向切面编程)
    五、AOP(1)AOP简介1.AOP(AspectOrientedProgramming)面向切面编程,一种编程范式,指导开发者如何组织程序结构OOP(ObjectOrientedProgramming)面向对象编程2.作用:在不惊动原始设计的基础上为其进行功能增强3.Spring理念:无入侵式/无侵入式(2)核心概念连接点(JoinPoint)程......
  • 【异常管理(全局异常处理器)】|【事务管理(使用AOP)】
    本篇主要介绍项目开发中两个比较基础但是非常重要的模块,异常管理和事务管理,如何去使用进行了介绍,着重对AOP的使用进行了介绍,实现一个基于AOP的简单案例:定位耗时较长的业务方法,统计部分业务方法的执行耗时。一、全局异常处理器需求:软件开发springboot项目过程中,不可避免的......
  • 信步漫谈之自定义AOP注释
    目录1目标2AOP基本概念3AOP之Execution表达式解释4AOP注释执行顺序5知识池6源码7参考资料(感谢)1目标自定义注释的AOP实现2AOP基本概念Aspect【切面】:通常是一个类,里面可以定义切入点和通知;JointPoint【连接点】:程序执行过程中明确的点,一般是方法的调用;Advice......
  • 插件工厂和AOP拦截器机制
    一.插件工厂基于接口机制的插件工厂是一种设计模式,用于创建和管理插件。插件是独立的模块,可以动态加载和卸载,以扩展应用程序的功能。通过使用接口,插件工厂可以提供一种统一的方式来创建和管理这些插件,而不需要了解插件的具体实现细节。具体实现来说,实现一个插件工厂通过哈希记......
  • 大模型--训练加速之deepspeed demo-13
    目录1.config.json2.main.py3.start.sh1.config.json{"train_batch_size":4,"steps_per_print":2000,"optimizer":{"type":"Adam","params":{"lr":0.001,......
  • 反射API与AOP在日志记录与审计中的应用案例
    引言在现代软件开发中,日志记录和审计是两个非常重要的功能,它们帮助开发者监控系统行为、追踪错误和安全问题。反射API和面向切面编程(AOP)是实现这些功能的强大工具。本文将探讨如何结合这两种技术来提高日志记录和审计的灵活性和效率。反射API在日志记录中的应用反射API允许......
  • Rust-AOP编程实战
    文章本天成,妙手偶得之。粹然无疵瑕,岂复须人为?君看古彝器,巧拙两无施。汉最近先秦,固已殊淳漓。胡部何为者,豪竹杂哀丝。后夔不复作,千载谁与期?——《文章》宋·陆游【哲理】文章本是不加人工,天然而成的,是技艺高超的人在偶然间所得到的。其实作者所说的“天成”,并不就是大自然的......
  • 动态按钮Demo
    概要在网页中,动态按钮不仅能够提升用户体验,还能增强界面的互动性。本文将教会你如何利用前端技术实现动态按钮,以及它们在提升网站交互性方面的重要性。如下效果图:整体架构流程动态按钮的实现涉及到HTML、CSS和JavaScript的协同工作。HTML负责结构的搭建,CSS负责样式的......
  • 【揭秘】Spring AOP:面向切面编程的神秘面纱!你也能成为编程高手
    SpringAOP(Aspect-OrientedProgramming,面向切面编程)是Spring框架中的一个重要特性,它允许开发者将横切关注点(如日志记录、事务管理、性能监控等)从业务逻辑代码中分离出来,通过定义切面(Aspect)来模块化这些横切关注点。1.SpringAOP基础1.1引入依赖首先,需要在项目中引入Sprin......
  • 科大讯飞离线lunix tts demo使用
    项目中需要用到后台服务端用文本生成语音,网上大部分都是通过ai大模型推理出来的,还有写其他方式的,效果和生成时间都比较不理想,但是讯飞生成的只需要零点几秒,不愧是行业NO1,下面说下怎么使用。1、下载官方demo。2、在官方demo目录下,执行source 32bit_make.sh或64bit_make.sh,根据......