流程图
后面会拆开讲。
@KafkaListener
springBoot 主程序启动的过程中ApplicationContext允许容器通过应用程序上下文环境创建、获取、管理bean。
public static void main(String[] args) {
SpringApplication.run(MainApplication.class, args);
}
BeanPostProcessor作用是在Bean对象在实例化和依赖注入完毕后,在显示调用初始化方法的前后添加我们自己的逻辑。
初始化后预处理
上述过程中,初始化bean之后,会检查容器中是否存在BeanPostProcessor,如果存在就调用postProcessBeforeInitialization方法。
如果返回null(或者所有的BeanPostProcessor执行完毕),则执行bean的初始化方法。
初始化后,再次判断容器中是否存在BeanPostProcessor,如果存在就调用postProcessAfterInitialization方法。
注解@KafkaListener就是使用这两个接口将kafka消息监听融入到spring生命周期中