前言:用过Springboot的同学都知道,Springboot采用了约定大于配置的思想,提供了大量简化配置的操作,使得我们从繁重的SpringMVC项目配置中解脱出来,只需要在.properties或者.yml文件上给指定的参数配置适当参数值即可,然后Springboot会自动应用;个人认为Springboot的优势在于提供快速便捷的开发模式,比如快速开发服务接口,通过mvn打包成jar包,然后通过java -jar命令行的方式(内置服务器)启动服务,这是正确的应用之道;Springboot同样支持web项目(包含各种html、css、js等前端资源)的开发和部署到外部服务器,但此时就需要做适当调整;
去年接了个应用类项目,就手欠采用Springboot开发web项目,项目目录结构如下:
发过程中倒是方便无比,但部署时就需要打包成war包部署到外部服务器,就需要改动配置并做适当调整,本文以此为契机,记录下操作过程,方便自己以及后来者!
理清思路,有以下几个地方需要处理:
1、由于服务器上面使用的一般是war包,所以此处将项目打包方式由jar包->war包
2、使用外部服务器,所以去除Springboot内置的服务器
3、由于部分jar包在外部服务器已经包含了,所以适当去除
4、重点:Springboot项目启动时,会创建Spring容器,容器中包含大量的Servlet、Filter和Spring Beans对象,此时由于使用外部的服务器,所以我们需要将Spring容器中的对象绑定到服务器上,我们采用官方推荐的方式,让启动类继承SpringBootServletInitiallizer并重写configure方法,官方demo如下:
下面开始,从创建一个Springboot项目,到最终通过浏览器访问为止,步骤如下:
1、极简新建一个Springboot项目适当调整,新建完成后pom.xml和项目目录结构如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>