在应用上下文的主refresh方法中,专门有一个步骤是用来注册BeanPostProcessor类型的bean,大体过程就是从bean工厂获取该类型的bean然后设置到专门的属性中。本文就来看一下这个注册过程是怎样的。
在Spring Boot中,不管是servlet还是reactive类型的应用上下文的构造器中都会创建该对象,倒不是说要考它来读取bean的定义,而是在它的构造方法中有一个关键操作,本文就来看一下这个关键操作是什么。
Spring中的BeanFactoryPostProcessor(被称为bean工厂后置处理器)旨在实例化bean之前,对bean的定义进行修改和扩展。本文不会分析具体的bean工厂后置处理器是怎么执行的,而是怎么被执行到的。
在Spring中的ConfigurationClassParser一文中,提到了会把一些解析结果,如bean方法、需要导入的配置文件资源和bean定义注册器保存在ConfigurationClass对象的属性中。后续ConfigurationClassPostProcessor会调用ConfigurationClassBeanDefinitionReader来处理。本文就来分析一下是怎么处理的。
在AbstractApplicationContext类的refresh方法是Spring Framework中的关键核心实现,Spring Framework的源码分析主要就是围绕该函数来进行的。在refresh方法中会调用obtainFreshBeanFactory来创建和刷新BeanFactory,本文就来分析一下这个过程。
在Tomcat的启动流程一文中分析到在AbstractEndpoint中会创建服务端socket并绑定地址进行监听,但没有涉及当请求进来之后Tomcat是怎么处理的。本文就来分析一下该问题。
MySQL是一个多线程程序,使用了Reactor模型。主线程在完成了启动初始化操作后,最后会进入一个事件循环,等待客户端的连接请求。本文分析MySQL是怎么进入事件循环的,以及在这个事件循环中是怎么处理连接请求的?
Spring Boot提供了对Web服务器的内置支持,会自动配置和创建Web服务器。本文分析最常见的Servlet服务器Tomcat和基于Netty的WebFlux服务器的配置与创建过程。
在开发中我们只需要在控制器中编写好handler方法,并配置好映射,Spring就会把请求自动导向我们写好的方法。Spring在收到请求时肯定是需要根据请求的URL来匹配handler,这是肯定需要知道有哪些handler。本文来分析Spring是怎么知道有哪些handler的,以及是怎么注册的?
传统的spring-mvc应用中,需要在web.xml中配置DispatcherServlet并配置好映射的路径。Spring Boot以的最大特点就是自动配置,用户可以开箱即用。那Spring Boot内部是怎么配置的呢?本文就来分析一下这个问题。