springboot配置Undertow服務(wù)器全過程
說明
作為springboot開發(fā)者,使用最多的就是Tomcat,這是springboot默認(rèn)的容器技術(shù),而且是內(nèi)嵌式的Tomcat,springboot作為目前最火的Java Web框架,可以說容器也起到了絕對的優(yōu)勢。
對于一個應(yīng)用,我們也只需要將應(yīng)用打包成一個jar包,以java -jar直接運(yùn)行,而無需再打成war包的形式外搭tomcat服務(wù)器的方式運(yùn)行應(yīng)用。但是也會考慮使用Undertow容器去替代Tomcat。
Undertow概述
Undertow作為SpringBoot默認(rèn)集成的三大容器之一(Tomcat、Jetty、Undertow);
首先它是Red Hat公司旗下的開源產(chǎn)品, 由Java語言開發(fā),是一款靈活的高性能Web服務(wù)器;
不僅支持阻塞IO還支持非阻塞IO。由于Undertow通過java語言開發(fā),即在java項(xiàng)目中使用可直接嵌入。
而且,Undertow完全支持Servlet和Web Socket,在高并發(fā)情況下表現(xiàn)非常出色,總之,Undertow在性能和內(nèi)存使用方面都優(yōu)于Jetty、Tomcat。
所以這就是為何業(yè)界內(nèi)很多springboot開發(fā)者放棄Tomcat,選擇Undertow。
springboot集成undertow
由于springboot優(yōu)先默認(rèn)內(nèi)嵌的是tomcat,所以當(dāng)你在引入Undertow容器時,你就需要先排除掉Tomcat,也就是它 spring-boot-starter-tomcat,
因此你需要找到spring-boot-starter-web這個starter,把Tomcat去掉,然后再引入undertow的依賴,然后直接啟動項(xiàng)目即可。
<!--web依賴-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!--排除spring-boot-starter-tomcat-->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 添加Undertow容器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
</dependency>總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
System.getProperty(“l(fā)ine.separator“)含義及意義詳解
這篇文章主要介紹了System.getProperty(“l(fā)ine.separator“)含義,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-05-05
關(guān)于Java8新特性O(shè)ptional類的詳細(xì)解讀
Optional類是一個容器類,它可以保存類型T的值,代表這個值存在?;蛘邇H僅保存null,表示這個值不存在,原來用 null 表示一個值不存在,現(xiàn)在Optional 可以更好的表達(dá)這個概念。并且可以避免空指針異常,需要的朋友可以參考下2023-05-05
實(shí)踐講解SpringBoot自定義初始化Bean+HashMap優(yōu)化策略模式
本篇講解了SpringBoot自定義初始化Bean+HashMap優(yōu)化策略模式,通過實(shí)踐的方式更通俗易懂,對此不了解的同學(xué)跟著小編往下看吧2021-09-09
spring boot + mybatis如何實(shí)現(xiàn)數(shù)據(jù)庫的讀寫分離
這篇文章主要給大家介紹了關(guān)于spring boot + mybatis如何實(shí)現(xiàn)數(shù)據(jù)庫的讀寫分離的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用spring boot具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
SpringBoot整合canal實(shí)現(xiàn)數(shù)據(jù)緩存一致性解決方案
canal主要用途是基于?MySQL?數(shù)據(jù)庫增量日志解析,提供增量數(shù)據(jù)訂閱和消費(fèi),canal是借助于MySQL主從復(fù)制原理實(shí)現(xiàn),本文將給大家介紹SpringBoot整合canal實(shí)現(xiàn)數(shù)據(jù)緩存一致性解決方案,需要的朋友可以參考下2024-03-03
使用springboot 獲取控制器參數(shù)的幾種方法小結(jié)
這篇文章主要介紹了使用springboot 獲取控制器參數(shù)的幾種方法小結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12

