Spring Boot移除内嵌Tomcat,使用非web方式启动


前言

当我们使用Spring Boot编写了一个批处理应用程序,该程序只是用于后台跑批数据,此时不需要内嵌的tomcat,简化启动方式使用非web方式启动项目。


执行步骤

1.修改pom.xml文件

在pom.xml文件中去除内嵌tomcat,添加servlet依赖

		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <!--去除内嵌tomcat -->
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!--添加servlet的依赖-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>compile</scope>
        </dependency>    

2.设置打包方式

在pom.xml文件中将打项目包方式设置成jar,打成jar包通过命令去执行jar

<packaging>jar</packaging>

3.禁用Web应用程序启动方式

对于非Web应用程序,请在属性文件中禁用Web应用程序类型,application.yml文件中添加

spring:
    main:
      web-application-type: none

4.在启动类中进行扩展

继承SpringBootServletInitializer 类,以下本人写了一个测试方法,项目启动后生成一个txt文件进行测试

@SpringBootApplication
public class TestiopojApplication extends SpringBootServletInitializer {

    public static void main(String[] args) {
        System.out.println("项目开始启动,开始执行任务============");
        SpringApplication.run(TestiopojApplication.class, args);
        String file = "E:\\copyFile";//文件存放路径
        String fileName = "test测试";//生成的文件名
        String strContext = "测试成功=======";//文件内容
        try {
            FileUtils.writeStringToFile((new File(file + File.separator + fileName + ".txt")), strContext, "UTF-8");
            System.out.println("文件创建成功============");
        } catch (IOException e) {
            System.out.println("文件创建失败============");
        }
    }

}

5.实列测试结果

由此我们可以通过java -jar 运行打包后的项目jar,控制台显示Spring Boot启动标志,项目正常启动,文件也正常创建成功,大功告成!

图片

文章参考:点我点我点我

总结

提示: 我是南国以南i记录点滴每天成长一点点,学习是永无止境的!转载请附原文链接!!!

Spring Boot 启动内嵌 Tomcat 的过程可以分为以下几个步骤: 1. 配置 Spring Boot 应用程序的 pom.xml 文件,添加以下依赖项: ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> ``` 2. 创建一个 Spring Boot 应用程序类,并在其 main 方法中调用 SpringApplication.run 方法,如下所示: ``` @SpringBootApplication public class MyApp { public static void main(String[] args) { SpringApplication.run(MyApp.class, args); } } ``` 3. 在应用程序配置文件 application.properties 或 application.yml 中配置 Tomcat 服务器相关的属性,例如端口号、上下文路径等,如下所示: ``` # application.properties server.port=8080 server.servlet.context-path=/myapp ``` ``` # application.yml server: port: 8080 servlet: context-path: /myapp ``` 4. 使用 Spring Boot 提供的嵌入式 Tomcat 作为 Web 服务器。Spring Boot 会根据应用程序的配置自动配置 Tomcat 服务器,创建 TomcatEmbeddedServletContainerFactory 对象,并将其注入到 Spring 容器中。 5. 在应用程序启动过程中,Spring Boot 会扫描应用程序中所有的 @Controller、@RestController、@RequestMapping 等注解,并将其注册到 Tomcat 服务器中。 6. 当应用程序收到请求时,Tomcat 服务器会将请求转发给对应的 Controller 方法,Controller 方法会处理请求并返回响应,Tomcat 服务器将响应发送给客户端。 以上就是 Spring Boot 启动内嵌 Tomcat 的过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值