十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
前言:
创新互联建站主要从事网站建设、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务当涂,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220
AOP是目前Spring框架中的核心之一,在应用中具有非常重要的作用,也是Spring其他组件的基础。它是一种面向切面编程的思想。关于AOP的基础知识,相信多数童鞋都已经了如指掌,今天要给大家分享的是Spring框架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相关文章!
记得一定要关注我哦,会不定时的福利赠送,包括整理的面试题,学习资料,源码等~~