SpringBoot中內嵌的tomcat啟動過程

2021-10-07 10:01:17 字數 796 閱讀 8039

springboot 初始化功能

run()

(string.

.. args)()

}catch

(classnotfoundexception ex)

}return

instantiateclass

(contextclass);}

spring容器啟動過程後會呼叫onr

protected

void

onrefresh()

catch

(throwable ex)

}createwebserver()

//>>getwebserver()>> gettomcatwebserver(tomcat)>>new tomcatwebserver()

public

tomcatwebserver

(tomcat tomcat,

boolean autostart)

private

void

initialize()

throws webserverexception

catch

(exception ex)}}

spring會自動裝配幾個類

tomcatservletwebserve***ctorycustomizer;裡面有註冊後置處理器,後置處理器會呼叫serve***ctorycustomizer.customize()

容器預設注入了2個serve***ctorycustomizer的子類分別是

springboot 內嵌redis的使用

新增包引用build.gradle testcompile com.github.kstyrc embedded redis 0.6 新增配置注入 import org.springframework.beans.factory.annotation.autowired import org.spr...

SpringBoot優化內嵌的Tomcat

springboot測試版本 org.springframework.boot spring boot starter parent 1.3.3.release org.springframework.boot spring boot starter web springboot預設使用的是tomc...

SpringBoot內嵌Tomcat的坑

眾所周知,springcloud整合的feign通過使用apachehttpclient,是可以支援長連線的。但是我們測試卻發現,長連線會被頻繁的關閉。調查發現,關閉連線是tomcat主動發起的,也就是說,apachehttpclient發起了長連線,但是tomcat卻把它關閉了。tomcat關閉長...