十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
Spring 提供了自動代理機制,可以讓容器自動生成代理,從而把開發(fā)人員從繁瑣的配置中解脫出來 。 具體是使用 BeanPostProcessor 來實現(xiàn)這項功能。
1 BeanPostProcessor
BeanPostProcessor 代理創(chuàng)建器的實現(xiàn)類可以分為 3 類:
類型 | 實現(xiàn)類 |
---|---|
基于 Bean 配置名規(guī)則 | BeanNameAutoProxyCreator |
基于 Advisor 匹配規(guī)則 | DefaultAdvisorAutoProxyCreator |
基于 Bean 中的 AspectJ 注解標簽的匹配規(guī)則 | AnnotationAwareAspectJAutoProxyCreator |
所有的自動代理器類都實現(xiàn)了 BeanPostPorcessor ,在容器實例化 Bean 時, BeanPostProcessor 將對它進行加工處理,所以自動代理創(chuàng)建器能夠?qū)M足匹配規(guī)則的 bean 自動創(chuàng)建代理對象。
2 BeanNameAutoProxyCreator
假設(shè)有以下兩個實體類(用戶與充電寶)。
用戶類:
public class User { public void rent(String userId) { System.out.println("User:租賃【充電寶】"); } public void back(String userId){ System.out.println("User:歸還【充電寶】"); } }