您现在的位置是:首页 > 文章详情

Spring框架AOP的使用及个人对底层原理的理解

日期:2019-07-30点击:416

Spring框架AOP的使用及个人对底层原理的理解QQ_20190730163049

前言:

AOP是目前Spring框架中的核心之一,在应用中具有非常重要的作用,也是Spring其他组件的基础。它是一种面向切面编程的思想。关于AOP的基础知识,相信多数童鞋都已经了如指掌,今天要给大家分享的是Spring框架AOP的使用,以及我个人对底层原理的一些理解。

Aop使用步骤

配置aop信息

相当于aop的根节点

配置切入点

切入点 可以理解为需要增强的方法的位置

如:

execution( com.mmr.entity.People.(..) )

表示这个切入点的位置在com.mmr.entity.People 这个类里;

第一个星号:表示访问权限是任意,也可以设置为private,protected。。。。。

第二个星号:表示People类下面的所有方法

(..)表示任意参数

包后面两个点表示包含子包下面的类,单点不包含子包

配置切入面

ref 指定的是用什么类来增强,指向的是一个bean

配置切入时间

......此类标签指定切入时间

after---最终 相当于try catch 中的finally

after-returning 后置,方法无异常执行完后

method 指定用哪个方法来增强(ref中指向的类中的方法)

pointcut-ref 指定增强的切入点

配置示例:

注意:

spring Aop 底层采用了动态代理(jdk自带的动态代理 + cglib 动态代理)的方式来实现增强

所以如果被增强的类(委托类)实现了接口,则会采用jdk自带的动态代理方式,所以需要使用接口来接收,不能直接使用实现类接收!

而如果委托类未实现接口,则采用cglib动态代理的方式,所以可以用委托类直接接收

喜欢这篇文章的话,可以给作者点个喜欢,点下关注,每天都会分享Java相关文章!

记得一定要关注我哦,会不定时的福利赠送,包括整理的面试题,学习资料,源码等~~

原文链接:https://yq.aliyun.com/articles/711921
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章