前言:
創(chuàng)新互聯IDC提供業(yè)務:服務器機柜租用,成都服務器租用,服務器機柜租用,重慶服務器租用等四川省內主機托管與主機租用業(yè)務;數據中心含:雙線機房,BGP機房,電信機房,移動機房,聯通機房。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 后置,方法無異常執(zhí)行完后
method 指定用哪個方法來增強(ref中指向的類中的方法)
pointcut-ref 指定增強的切入點
配置示例:
注意:
spring Aop 底層采用了動態(tài)代理(jdk自帶的動態(tài)代理 + cglib 動態(tài)代理)的方式來實現增強
所以如果被增強的類(委托類)實現了接口,則會采用jdk自帶的動態(tài)代理方式,所以需要使用接口來接收,不能直接使用實現類接收!
而如果委托類未實現接口,則采用cglib動態(tài)代理的方式,所以可以用委托類直接接收
喜歡這篇文章的話,可以給作者點個喜歡,點下關注,每天都會分享Java相關文章!
記得一定要關注我哦,會不定時的福利贈送,包括整理的面試題,學習資料,源碼等~~
創(chuàng)新互聯www.cdcxhl.cn,專業(yè)提供香港、美國云服務器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網絡助力業(yè)務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調度,確保服務器高可用性。佳節(jié)活動現已開啟,新人活動云服務器買多久送多久。