SpringBoot 项目如何在tomcat容器中运行的实现方法

 更新时间:2019年09月10日 15:12:02   作者:易先生3729  
这篇文章主要介绍了SpringBoot 项目如何在tomcat容器中运行的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一. SpringBoot内嵌容器的部署方式

SpringBoot内部默认提供内嵌的tomcat容器,所以可以直接打成jar包,丢到服务器上的任何一个目录,然后在当前目录下执行java -jar demo.jar即可运行,但是这种方式的运行退出进程就结束了。如果想在后台可以运行,则需要执行 java -jar demo.jar > log_demo.file 2>&1 & 即可在后台运行该服务了,log_demo.file是日志文件。如需停止该进程 执行ps -ef|grep java 找到对应的进程 kill 进程ID 即可

二. 使用外部的tomcat部署方式

pom.xml文件,dependencies中添加

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>

在pom.xml文件中,project下面packaging标签改为

<packaging>war</packaging>

将项目的启动类Application.java继承SpringBootServletInitializer并重写configure方法

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

  @Override
  protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
    return application.sources(Application.class);
  }

  public static void main(String[] args) throws Exception {
    SpringApplication.run(Application.class, args);
  }

}

这样,只需要以上3步就可以打包成war包,并且部署到tomcat中了。需要注意的是这样部署的request url需要在端口后加上项目的名字才能正常访问。spring-boot更加强大的一点就是:即便项目是以上配置,依然可以用内嵌的tomcat来调试,启动命令和以前没变,还是:mvn spring-boot:run。

如果需要在springboot中加上request前缀,需要在application.properties中添加server.contextPath=/prefix/即可。其中prefix为前缀名。这个前缀会在war包中失效,取而代之的是war包名称,如果war包名称和prefix相同的话,那么调试环境和正式部署环境就是一个request地址了。

如果是application.yml 文件 则为

server:
 port: 8080
 context-path: /prefix

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java设计模式之简单工厂 工厂方法 抽象工厂深度总结

    Java设计模式之简单工厂 工厂方法 抽象工厂深度总结

    设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案
    2021-09-09
  • SpringBoot缓存方法返回值的方法详解

    SpringBoot缓存方法返回值的方法详解

    如何缓存方法的返回值?应该会有很多的办法,这篇文章主要为大家介绍两个比较常见并且比较容易实现的办法:自定义注解和SpringCache,希望对大家有所帮助
    2023-10-10
  • Java注解Annotation与自定义注解详解

    Java注解Annotation与自定义注解详解

    本文全面讲述了Java注解Annotation与Java自定义注解及相关内容,大家可以认真看看
    2018-03-03
  • mybatis-generator生成多次重复代码问题以及解决

    mybatis-generator生成多次重复代码问题以及解决

    在使用MySQL数据库时,如果多个数据库中存在相同表名,即使在URL中配置了数据库名,也可能导致数据互相影响,解决这一问题的方法是在mapper-generator-config.xml文件中添加catalog属性,明确指定逆向工程代码所涉及表的数据库名
    2024-10-10
  • Mybatis-plus通过添加拦截器实现简单数据权限

    Mybatis-plus通过添加拦截器实现简单数据权限

    系统需要根据用户所属的公司,来做一下数据权限控制,具体一点,就是通过表中的company_id进行权限控制,项目使用的是mybatis-plus,所以通过添加拦截器的方式,修改查询sql,实现数据权限,本文就通过代码给大家详细的讲解一下,需要的朋友可以参考下
    2023-08-08
  • SpringBoot中引入MyBatisPlus的常规操作

    SpringBoot中引入MyBatisPlus的常规操作

    这篇文章主要介绍了SpringBoot中引入MyBatisPlus的常规操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • SpringBoot中数据传输对象(DTO)的实现

    SpringBoot中数据传输对象(DTO)的实现

    本文主要介绍了SpringBoot中数据传输对象(DTO)的实现,包括了手动创建DTO、使用ModelMapper和Lombok创建DTO的示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-07-07
  • 详解mybatis #{}和${}的区别、传参、基本语法

    详解mybatis #{}和${}的区别、传参、基本语法

    这篇文章主要介绍了mybatis #{}和${}的区别、传参、基本语法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Linux系统下安装和卸载JDK8的方式

    Linux系统下安装和卸载JDK8的方式

    这篇文章主要介绍了Linux安装和卸载JDK8,第一种是使用yum命令一键安装,默认安装目录在/usr/lib/jvm第二种是手动安装,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • 详解RabbitMq如何做到消息的可靠性投递

    详解RabbitMq如何做到消息的可靠性投递

    这篇文章主要为大家介绍了RabbitMq如何做到消息的可靠性投递,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09

最新评论