Spring AOP的概念与实现过程是什么


今天小编给大家分享一下SpringAOP的概念与实现过程是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。什么是Aop?AOP就是面向切面编程,通过预编译方式以及运行期间的动态代理技术来实现程序的统一维护功能。什么是切面,我理解的切面就是两个方法之间,两个对象之间,两个模块之间就是一个切面。假设在两个模块之间需要共同执行一系列操作,并且最后将这一系列操作注入到两个模块之间的指定位置。此时这一系列操作就是切面,注入这些操作的位置称之为切点。举例:公司员工上班A员工上班需要在前台进行打卡,同样的B员工…其他员工都需要在前台打卡,那么如果为每一位员工提供单独的打卡通道就有些过于浪费资源。像这样于是,在前台这个位置设置接口,声明公共的打卡方法,所有员工共同通过该接口进行打卡,那么在打卡时的一系列校验或者记录的整个操作就可以被称之为切面,前台这个空间位置就被称之为切点,如下图所示aop主要作用就是进行日志记录、事务/异常处理等功能以便更好地维护开发,主要目的就是将这些行为从项目的业务逻辑代码中分离出来并且降低各个业务逻免费云主机域名辑模块之间的耦合度。保证在执行aop操作的同时不会影响到项目的业务逻辑代码几个概念Aspect:切面 Aspect中会包含一些pointCut切入点以及一些AdviceAdvice:通知 切面需要完成的工作,通过before、after、around来区别是在连接点之前或者之后 或者环绕Target:目标 目标对象,该对象会被织入advicePointCut:切点 即切面通知执行的地点 advice将会在这里发生JointPoint:连接点 所有方法的执行点PointCut用来修饰JointPoint,PointCut是advice执行的点,而JointPoint表示所有方法的执行点,通过PointCut可以确定哪些JointPoint是可以被织入的点我们通常不希望advice会在所有的JointPoint点执行,PointCut的作用就是可以进行校验来更精准的匹配执行点。简单概括就是Jointpoint可以执行但未必执行,只有PointCut匹配到了JointPoint才可以在该点执行Aspect切面可以理解为PointCut+Advice使用AOP织入导入包使用spring内置的API接口准备:UserService、UserServiceImpl简单实现CRUD在spring核心配置文件applicationContext.xml中配置aop:编写执行前后日志测试:使用自定义类,只需要在applicationContext.xml中重新配置aop,并且自己diy一个类即可,在配置时可以选择任一方法为前置日志或后置日志即可diylog类首先需要在applicationContext.xml文件中打开SpringAOP对注解的支持annoLog最终打印:环绕前
—方法执行前—
删除成功!
—方法执行后—
方法签名Integer com.mount.service.UserService.delete()
方法执行返回=1
环绕后注意around环绕增强,如果我们执行的sql中是有返回值的话,那么必须显式的将pjp.proceed();返回回去,否则在调用处将会无法获取到结果集,报空指针异常可以发现,around环绕增强首先执行,在执行到joinPoint.proceed()时,会执行对应方法,执行对应方法的时候才会执行前置或后置的其他增强操作以上就是“SpringAOP的概念与实现过程是什么”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注百云主机行业资讯频道。

相关推荐: Java怎么实现快速排序算法

这篇文免费云主机域名章主要介绍了Java怎么实现快速排序算法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java怎么实现快速排序算法文章都会有所收获,下面我们一起来看看吧。实现效果示例代码关于“Java怎么实现快速排序算法”这篇…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 05/11 19:13
Next 05/11 19:14

相关推荐