(1)拦截器的获取是从advisor通知器中获取的,这个通知器装了配置的所有的Advice通知,而AdvisorAdapterRegistry用来注册拦截器链的。如上图61行所示,AdvisorAdapterRegistry从advisor中获取符合条件的拦截器。主意上面有切点的赛选。
至于advisor器中怎样封装Advice通知的呢,如下图:
遍历配置的interceptorNames,从ioc容器中取得advice最后加入到advisor中
画外音:
对于取得通知器过程,是怎么取得ioc容器的呢,这里的beanfactory使用的DefaultListableBeanFactory作为ioc容器,基类是AbstractAutowireCapableBeanFactory,他实现了BeanFactoryAware,这里只需要实现setBeanFactoy方法即可,通过它可以把ioc容器设置到属性中去,从而操作ioc容器。