(1)攔截器的獲取是從advisor通知器中獲取的,這個通知器裝了配置的所有的Advice通知,而AdvisorAdapterRegistry用來註冊攔截器鏈的。如上圖61行所示,AdvisorAdapterRegistry從advisor中獲取符合條件的攔截器。主意上面有切點的賽選。
至於advisor器中怎樣封裝Advice通知的呢,如下圖:
遍歷配置的interceptorNames,從ioc容器中取得advice最後加入到advisor中
畫外音:
對於取得通知器過程,是怎麼取得ioc容器的呢,這裏的beanfactory使用的DefaultListableBeanFactory作爲ioc容器,基類是AbstractAutowireCapableBeanFactory,他實現了BeanFactoryAware,這裏只需要實現setBeanFactoy方法即可,通過它可以把ioc容器設置到屬性中去,從而操作ioc容器。