欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

boot生產環境打包方式

錢良釵2年前15瀏覽0評論

boot生產環境打包方式?

首先針對問題的疑問點有些不太明確,具體猜測來看感覺像是想要知道打包成jar和war的區別在哪,筆者也就從這個角度去說一下,希望我對問題的理解是對的。

談到打包,那么首先spring boot在項目中到底是個什么樣的角色,市面上的多數說法是“全家桶”,說法沒有錯,但是這個全家桶里具體有什么需要搞清楚。

那么,再回到當前這個問題上,spring boot相比于傳統spring項目,它們的其中一點區別在于其內嵌了tomcat服務器,這意味著什么,我們不需要外部容器了!從正反兩方面來談談:

一、不可否認,生產環境下spring boot項目既可以打成jar,也可以打成war包,但是官方推薦還是打成jar比較好,原因很簡單,“明明給你全家桶的優惠價了,你為什么還要單點呢?”,當啟動spring boot應用時,內置tomcat服務器就會啟動并加載應用(這個從啟動日志就能看到);

二、如果打成war包,那么啟動時就需要依賴如tomcat或jetty這些容器(不可避免的還會引起jar沖突,需要手工排除依賴),這樣也就變相違背了spring boot設計為全家桶的初衷(因為jar的入口就是main函數呀);

最后總結一下,其實spring boot提供了SpringBootStartApplication.class,其作用會因為在外部容器部署下,而不能依賴于Application的main函數了,相反,要以類似于web.xml文件配置的方式來啟動應用的上下文,相當于spring boot被你變相打回原形,變成普通的spring項目了。

java web war,boot生產環境打包方式