分享更有价值
被信任是一种快乐

怎么搭建一个AOP测试环境

文章页正文上

本篇内容介绍了“怎么搭建一个AOP测试环境”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!写在前面金九银十的跳槽黄金期已拉开序幕,相信很多小伙伴也在摩拳擦掌,想换一个新的工作环境。然而,由于今年疫情的影响,很多企业对于招聘的要求是越来越严格。之前,很多不被问及的知识点,最近面试时都会被问到了。这不,有些面试官竟然让面试者现场搭建一个AOP测试环境。那怎么办呢?那就给他搭建一个呗!什么是AOP?AOP (Aspect Orient Programming),直译过来就是 面向切面编程。AOP 是一种编程思想,是面向对象编程(OOP)的一种补充。面向对象编程将程序抽象成各个层次的对象,而面向切面编程是将程序抽象成各个切面。比如,在《Spring实战(第4版)》中有如下一张图描述了AOP的大体模型。从这张图中,我们可以看出:所谓切面,相当于应用对象间的横切点,我们可以将其单独抽象为单独的模块。总之一句话:AOP是指在程序的运行期间动态的将某段代码切入到指定方法、指定位置进行运行的编程方式。AOP的底层是使用动态代理实现的。搭建环境1.导入AOP依赖要想搭建AOP环境,首先,我们就需要在项目的pom.xml文件中引入AOP的依赖,如下所示。2.定义目标类在io.mykit.spring.plugins.register.aop包下创建一个MathHandler类,用于处理数学计算上的一些逻辑。比如,我们在MathHandler类中定义了一个加法操作,返回两个整数类型值的和,如下所示。3.定义切面类在io.mykit.spring.plugins.register.aspect包下创建一个LogAspect切面类,在LogAspect类中定义了几个打印日志的方法,以这些方法来感知MathHandler类中的add()方法的运行情况免费云主机、域名。如果需要切面类来感知目标类方法的运行情况,则需要使用Spring AOP中的通知方法。AOP中的通知方法及其注解与含义如下:前置通知(@Before):在目标方法运行之前运行。后置通知(@After):在目标方法运行结束之后运行,不管是正常结束还是异常结束都会执行。返回通知(@AfterReturning):在目标方法正常返回之后运行。异常通知(@AfterThrowing):在目标方法抛出异常后运行。环绕通知(@Around):动态代理,手动推进目标方法运行。综上,LogAspect类中的具体方法定义如下所示。logStart()方法:MathHandler类的add()方法运行之前运行。logEnd()方法:MathHandler类的add()方法运行结束之后运行。logReturn()方法:MathHandler类的add()方法正常返回之后运行。logException()方法:MathHandler类的add()方法抛出异常后执行。4.将目标类和切面类加入到IOC容器在io.mykit.spring.plugins.register.config包中,新建AopConfig类,并使用@Configuration注解标注这是一个Spring的配置类,同时使用@EnableAspectJAutoProxy注解开启基于注解的AOP模式。在AopConfig类中,使用@Bean注解将MathHandler类和LogAspect类加入到IOC容器中,如下所示。5.创建测试类在 io.mykit.spring.test包中创建AopTest测试类,并在AopTest类中创建testAop01()方法,如下所示。运行AopTest类中的testAop01()方法,输出的结果信息如下所示。可以看到,执行了切面类中的方法,并打印出了相关信息。但是没有打印参数列表和运行结果。6.在切面类中打印参数列表和返回结果那如果需要打印出参数列表和运行结果,该怎么办呢?别急,我们继续往下看。要想打印出参数列表和运行结果,就需要对LogAspect类中的方法进行优化,优化后的结果如下所示。这里,需要注意的是:JoinPoint参数一定要放在参数的第一位。此时,我们再次运行AopTest类中的testAop01()方法,输出的结果信息如下所示。7.目标方法抛出异常我们在MathHandler类的add()方法中抛出一个异常,来测试下异常情况,如下所示。此时,我们再次运行AopTest类中的testAop01()方法,输出的结果信息如下所示。可以看到,正确的输出了切面中打印的信息。“怎么搭建一个AOP测试环境”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注云技术网站,小编将为大家输出更多高质量的实用文章!

相关推荐: JavaScript怎么操作元素内容

这篇文章主要介绍了JavaScript怎么操作元素内容的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅免费云主机、域名读完这篇JavaScript怎么操作元素内容文章都会有所收获,下面我们一起来看看吧。规律:从当前元素中获取到的都是字符串原…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册