Spring Boot2.0版本源码(九):Spring Boot的Servlet容器个性化参数配置原理

我们可以在application.properties文件中写入server.port=9000使得我们的tomcat容器启动的时候,会在9000端口。
Spring Boot2.0版本源码(九):Spring Boot的Servlet容器个性化参数配置原理_第1张图片
我们之前讲解bean的注入的过程中Spring Boot2.0版本源码(五):Spring Boot的Bean的解析之bean的实例化过程讲解过,我们会调用AbstractAutowireCapableBeanFactoryapplyBeanPostProcessorsBeforeInitialization()方法,这里可以完成bean的实例化或者其他操作,通过重写postProcessBeforeInitialization()方法即可。
Spring Boot2.0版本源码(九):Spring Boot的Servlet容器个性化参数配置原理_第2张图片
里面有一个实现类WebServerFactoryCustomizerBeanPostProcessor,里面传入的是tomcatServletWebServerFactory这个bean对象,调用了其postProcessBeforeInitialization(),
Spring Boot2.0版本源码(九):Spring Boot的Servlet容器个性化参数配置原理_第3张图片下面这五个bean都是由@EnableAutoConfiguration注解注入到tomcat的
Spring Boot2.0版本源码(九):Spring Boot的Servlet容器个性化参数配置原理_第4张图片
我们查看其中的一个beanTomcatServletWebServerFactoryCustomizer类,可以看到其注入了ServerProperties
Spring Boot2.0版本源码(九):Spring Boot的Servlet容器个性化参数配置原理_第5张图片
可以看到ServerProperties里面通过@ConfigurationProperties注解实现的,将server开头的注解注入到当前的ioc容器中,由此就完成了对Servlet容器的个性化配置参数的注入过程。
Spring Boot2.0版本源码(九):Spring Boot的Servlet容器个性化参数配置原理_第6张图片

总结

Spring Boot2.0版本源码(九):Spring Boot的Servlet容器个性化参数配置原理_第7张图片
Spring Boot2.0版本源码(九):Spring Boot的Servlet容器个性化参数配置原理_第8张图片
Spring Boot2.0版本源码(九):Spring Boot的Servlet容器个性化参数配置原理_第9张图片
Spring Boot2.0版本源码(九):Spring Boot的Servlet容器个性化参数配置原理_第10张图片

你可能感兴趣的:(springboot源码)