spring事件监听机制
介绍
spring事件监听机制实际上就是一个典型的观察者模式,在观察者模式的基础之上进行的抽象和处理。使得开发者可以根据自己的业务特点依附于spring容器进行事件的注册、发布、处理。
spring事件监听机制实际上就是一个典型的观察者模式,在观察者模式的基础之上进行的抽象和处理。使得开发者可以根据自己的业务特点依附于spring容器进行事件的注册、发布、处理。
HandlerAdapter是Handler的适配器,每种类型的Handler都对应一个HandlerAdapter。
在顶层接口HandlerAdapter的实现中,基本上都是直接具体的实现。
HandlerMapping处理器映射器,是SpringMvc的核心组件之一,用来根据请求的request信息查询对应的Handler,在web环境中,每个请求都需要一个对应的Handler来处理,所以当接收到一个请求,需要哪一个Handler来处理,HandlerMapping的作用就是找到处理的那个Handler。
SpringMvc是基于spring在web领域进行开发的框架,使得业务开发者无需关心Servlet组件的逻辑处理,让业务开发者仅需要关心业务逻辑的处理。
BeanFactoryPostProcessor是spring中一个很重要的扩展点,它与BeanPostProcessor长相类似,触发点略有不同。BeanFactoryPostProcessor的作用时期是在所有bean实例化之前。所以它的作用是加载BeanDefinition。或者可以动态的修改或者是新增BeanDefinition。
上文中把springbean的创建过程大致整理了一下,但是似乎还没有回答上文背景中提出的问题,为什么在某个方法上加了一个@Async注解之后,导致出现了循环依赖报错,而上文中有两个简单小例子,其中使用了AOP,却没有出现循环依赖报错?(如果对spring中的AOP和@Async实现方式有一个大概了解的话,应该知道二者都是通过生成代理对象的方式实现。)