1. 創建Spring-boot工程
打開IDEA通過Spring Initializr新建一個基於Maven的WEB工程,默認命名com.example:demo:0.0.1-SNAPSHOT,如下圖所示
2.編寫一個測試RestApi
在主工程下添加一個Controller包,編寫一個TestController,返回“hello spring-boot”
然后點擊右上角調試運行,啟動完成后,打開瀏覽器輸入127.0.0.1:8080,可以看到輸出結果,spring-boot默認采用jar包方式運行,內置tomcat,默認監聽8080端口
3.把Spring-boot工程打包為Jar包
spring-boot默認為jar包方式,編寫好程序后,只需要運行maven的package命令,在target目錄下便會生成對應的jar包,本例為demo-0.0.1-SNAPSHOT.jar,如下圖所示:
生成好的jar包可以直接通過命令來啟動運行,打開控制台,定位到target目錄下,運行:java -jar demo-0.0.1-SNAPSHOT.jar,就可以啟動Spring-boot的jar包了,我們可以將啟動命令寫成一個startup.bat或者startup.sh的啟動腳本,部署到服務器上后,直接調用腳本啟動Spring-boot工程。
Spring-boot默認從application.properties或application.yml讀取配置信息,Spring程序會按優先級從下面這些路徑來加載application.properties配置文件
- 當前目錄下的/config目錄
- 當前目錄
- classpath里的/config目錄
- classpath 跟目錄
因此,要外置配置文件就很簡單了,直接把配置文件放在對應的目錄即可
4. Spring-boot打War包
Spring-boot打war包需要在上面工程基礎上調整三個地方
1. 修改pom.xml打包類型為war,如下圖
2. 添加spring-boot-starter-tomcat依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
3. 實現一個ServletInitializer類添加到工程代碼中:
package com.example.demo;
import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; public class ServletInitializer extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(DemoApplication.class); } }
這三步完成后就可以添加tomcat配置進行調試了,或者運行maven的package命令進行打包target目錄下便會生成demo-0.0.1-SNAPSHOT.war