javascript
关于Spring AOP代理的生成过程
1、通過ProxyFactoryBean(FactoryBean接口的實現類)來去配置相應的代理對象相關信息;
2、在獲取ProxyFactoryBean實例是,本質上并不是獲取到ProxyFactoryBean的對象,而是獲取到了由ProxyFactoryBean所返回的那個對象實例;
3、在整個ProxyFactoryBean實例的構建與緩存的過程中,其流程與普通的Bean對象完全一致;
4、差別在于,當創建了ProxyFactoryBean對象后,Spring會判斷當前所創建的對象是否是一個FactoryBean實例;
5、如果不是,那么Spring就直接將所創建的對象返回;
6、如果是,Spring則會進入到一個新的流程分支當中;
7、Spring會根據我們在配置信息中指定的各種元素,如目標對象是否實現了接口以及Advisor等信息。使用動態代理說是CGLIB等方式來為目標對象
創建相應的代理對象;
8、當相應的代理對象創建完畢后,Spring就會通過ProxyFactoryBean的getObject()方法,將所創建的對象返回;
9、對象返回到調用端(客戶端),它本質上是一個代理對象,可以代理對目標對象的訪問與調用;這個代理對象對用戶來說就好像一個目標對象一樣;
10、客戶在使用代理對象時,可以正常調用目標對象的方法,同時在執行過程中,會根據我們在配置文件中所配置的信息來在調用前后執行額外的附加邏輯。
?
?
總結
以上是生活随笔為你收集整理的关于Spring AOP代理的生成过程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 把第三方jar包放入本地私服
- 下一篇: 关于Spring容器管理Bean的过程以