springboot如何關(guān)掉tomcat容器
springboot關(guān)掉tomcat容器
有的時(shí)候需要對(duì)外提供的并不是HTTP服務(wù),而是RPC服務(wù),但是又想使用springboot提供的便利支持。
這個(gè)時(shí)候需要關(guān)掉RPC服務(wù),然后在main函數(shù)中自己添加守護(hù)線程
public static void main(String[] args) {
SpringApplication app = new SpringApplication(Application.class);
app.setWebApplicationType(WebApplicationType.NONE);
app.run(args);
}
springboot使用第三方tomcat
1.改pom
因?yàn)榇a用到了servlet的api,不加會(huì)報(bào)錯(cuò)。剔除web模塊中的tomcat
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<artifactId>spring-boot-starter-tomcat</artifactId>
<groupId>org.springframework.boot</groupId>
</exclusion>
</exclusions>
</dependency>
<!--添加servlet的依賴-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
插件注釋原先的springboot-maven插件,改為war
在warName 可以改名字,到時(shí)候打出的包名就是這個(gè)
<plugins> <!-- <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <warName>springboot</warName> </configuration> </plugin>
改打包方式
<packaging>war</packaging>
2.再加一個(gè)啟動(dòng)類
繼承SpringBootServletInitializer 重寫configure方法
@SpringBootApplication
@Configuration
@ComponentScan(basePackages="com.jubao.dling") //默認(rèn)掃描是當(dāng)前包下的路徑
@EnableAutoConfiguration
public class DlingApplication extends SpringBootServletInitializer{
public static void main(String[] args) {
SpringApplication.run(DlingApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(DlingApplication.class);
}
}
不必原來的啟動(dòng)類刪除,因?yàn)?平常開發(fā)時(shí),肯定還是使用內(nèi)置的tomcat,開發(fā)時(shí)將 剔除tomcat的標(biāo)簽注釋掉
3.打war包
放tomcat運(yùn)行

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Junit測(cè)試多線程無法得到結(jié)果的問題解決
在測(cè)試一個(gè)文件轉(zhuǎn)換工具類的時(shí)候,發(fā)生一個(gè)有趣的現(xiàn)象,同樣的輸入,使用Main函數(shù)可以正確解析,得到結(jié)果,使用Junit卻無法得到結(jié)果,神奇的是,即使捕獲Throwable,也無法捕獲到仍和異常。2021-05-05
詳解spring+springmvc+mybatis整合注解
本篇文章主要介紹了詳解spring+springmvc+mybatis整合注解,詳細(xì)的介紹了ssm框架的使用,具有一定的參考價(jià)值,有興趣的可以了解一下2017-04-04
實(shí)現(xiàn)一個(gè)簡(jiǎn)單Dubbo完整過程詳解
這篇文章主要為大家介紹了實(shí)現(xiàn)一個(gè)簡(jiǎn)單Dubbo完整過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
Idea 自動(dòng)生成測(cè)試的實(shí)現(xiàn)步驟
當(dāng)我們?cè)趯懲暌恍┙涌诜椒ê笮枰獪y(cè)試時(shí),一個(gè)一個(gè)新建測(cè)試類比較麻煩 idea給我們提供了快捷辦法,本文主要介紹了Idea 自動(dòng)生成測(cè)試的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05
SpringBoot三種方法接口返回日期格式化小結(jié)
本文介紹了三種在Spring Boot中格式化接口返回日期的方法,包含使用@JsonFormat注解、全局配置JsonConfig、以及在yml文件中配置時(shí)區(qū),具有一定的參考價(jià)值,感興趣的可以了解一下2025-01-01

