springboot如何关掉tomcat容器

 更新时间:2021年11月09日 14:31:27   作者:Meet.相识  
这篇文章主要介绍了springboot如何关掉tomcat容器,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

springboot关掉tomcat容器

有的时候需要对外提供的并不是HTTP服务,而是RPC服务,但是又想使用springboot提供的便利支持。

这个时候需要关掉RPC服务,然后在main函数中自己添加守护线程

public static void main(String[] args) {
  SpringApplication app = new SpringApplication(Application.class);
  app.setWebApplicationType(WebApplicationType.NONE);
  app.run(args);
 }

springboot使用第三方tomcat

1.改pom

因为代码用到了servlet的api,不加会报错。剔除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 可以改名字,到时候打出的包名就是这个

		<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.再加一个启动类

继承SpringBootServletInitializer 重写configure方法

@SpringBootApplication
@Configuration  
@ComponentScan(basePackages="com.jubao.dling")   //默认扫描是当前包下的路径
@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);
	    } 
}

不必原来的启动类删除,因为 平常开发时,肯定还是使用内置的tomcat,开发时将 剔除tomcat的标签注释掉

3.打war包

放tomcat运行

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Junit测试多线程无法得到结果的问题解决

    Junit测试多线程无法得到结果的问题解决

    在测试一个文件转换工具类的时候,发生一个有趣的现象,同样的输入,使用Main函数可以正确解析,得到结果,使用Junit却无法得到结果,神奇的是,即使捕获Throwable,也无法捕获到仍和异常。
    2021-05-05
  • hibernate和mybatis对比分析

    hibernate和mybatis对比分析

    通过本文给分享了hibernate和mybatis对比分析,从开发对比,系统调优对比,对象管理与抓取策略,缓存机制对比等方面给大家详细介绍,需要的朋友参考下吧
    2017-09-09
  • 浅谈java的接口和C++虚类的相同和不同之处

    浅谈java的接口和C++虚类的相同和不同之处

    下面小编就为大家带来一篇浅谈java的接口和C++虚类的相同和不同之处。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,祝大家游戏愉快哦
    2016-12-12
  • spring cloud Gateway如何处理跨域问题

    spring cloud Gateway如何处理跨域问题

    这篇文章主要介绍了spring cloud Gateway如何处理跨域问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • 详解spring+springmvc+mybatis整合注解

    详解spring+springmvc+mybatis整合注解

    本篇文章主要介绍了详解spring+springmvc+mybatis整合注解,详细的介绍了ssm框架的使用,具有一定的参考价值,有兴趣的可以了解一下
    2017-04-04
  • 实现一个简单Dubbo完整过程详解

    实现一个简单Dubbo完整过程详解

    这篇文章主要为大家介绍了实现一个简单Dubbo完整过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • Idea 自动生成测试的实现步骤

    Idea 自动生成测试的实现步骤

    当我们在写完一些接口方法后需要测试时,一个一个新建测试类比较麻烦 idea给我们提供了快捷办法,本文主要介绍了Idea 自动生成测试的实现步骤,具有一定的参考价值,感兴趣的可以了解一下
    2024-05-05
  • Spring Boot(二)之web综合开发

    Spring Boot(二)之web综合开发

    本篇文章为大家介绍spring boot的其它特性(有些未必是spring boot体系桟的功能,但是是spring特别推荐的一些开源技术本文也会介绍),对了这里只是一个大概的介绍,特别详细的使用我们会在其它的文章中来展开说明
    2017-05-05
  • Java单例模式的8种写法(推荐)

    Java单例模式的8种写法(推荐)

    这篇文章主要介绍了Java单例模式的8种写法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • SpringBoot三种方法接口返回日期格式化小结

    SpringBoot三种方法接口返回日期格式化小结

    本文介绍了三种在Spring Boot中格式化接口返回日期的方法,包含使用@JsonFormat注解、全局配置JsonConfig、以及在yml文件中配置时区,具有一定的参考价值,感兴趣的可以了解一下
    2025-01-01

最新评论