SpringBoot 高级 -- SpringBoot 项目部署(jar/war)

Posted CodeJiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot 高级 -- SpringBoot 项目部署(jar/war)相关的知识,希望对你有一定的参考价值。

1. SpringBoot 项目部署

SpringBoot 项目开发完毕后,支持两种方式部署到服务器:

  • ① jar包(官方推荐)
  • ② war包

准备工作:

  1. 新建一个测试项目:
  2. 新建一个controller
package com.tian.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/user")
public class UserController 
    @RequestMapping("/findAll")
    public String findAll()
        return "findAll success";
    


1.1 jar包(官方推荐) :使用的是SprinBoot内置的Tomcat

打包:


测试:



1.2 war包:使用外部的服务器(例如外部的Tomcat)

修改打包方式为war:

我这里自定义一下打包的名称(可以不用定义):

要想被外界的Tomcat识别到,需要继承SpringBootServletInitializer和重写configure方法。

package com.tian;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

@SpringBootApplication
public class SpringbootPackageApplication  extends SpringBootServletInitializer 

    public static void main(String[] args) 
        SpringApplication.run(SpringbootPackageApplication.class, args);
    


    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) 
        return builder.sources(SpringbootPackageApplication.class);
    

开始打包:


开始测试:

  1. 把刚刚打好的war包放在自己Tomcat服务器的webapps目录下面:
  2. 启动tomcat服务器

测试访问:

说明:

在使用war的方式部署,代码里面配置的服务器信息都会失效(IP / 端口号),因为不是使用SpringBoot内置的Tomcat服务器。



以上是关于SpringBoot 高级 -- SpringBoot 项目部署(jar/war)的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot技术优点

SpringBoot(17)---SpringBoot整合RocketMQ

SpringBoot入门知识

SpringBoot集成mybatis

SpringBoot入门Demo

(转)Spring Boot