Spring Boot教學
Spring Boot是什麼?
Spring Boot簡介
Spring Boot主要目標
Spring Boot快速入門
新項目爲什麼需要Spring Boot?
Spring Boot引導過程
Spring Boot核心和限制
Spring Boot Tomcat部署
Spring Boot優點和缺點
Spring Boot構建系統
Spring Boot入門
Spring Boot代碼結構
Spring Boot安裝
Spring Boot Bean和依賴注入
Spring Boot應用程序開發入門
Spring Boot運行器(Runner)
Spring Boot JSP應用實例
Spring Boot應用程序屬性
Spring Boot將WAR文件部署到Tomcat
Spring Boot日誌
Spring Boot Hello World(Thymeleaf)示例
Spring Boot構建RESTful Web服務
Spring Boot非web應用程序實例
Spring Boot異常處理
Spring Boot @ConfigurationProperties實例
Spring Boot攔截器
Spring Boot SLF4J日誌實例
Spring Boot Servlet過濾器
Spring Boot Ajax實例
Spring Boot Tomcat端口號
Spring Boot文件上傳示例(Ajax和REST)
Spring Boot Rest模板
Spring Boot文件上傳示例
Spring Boot文件處理
Spring Boot服務組件
Spring Boot Thymeleaf示例
Spring Boot使用RESTful Web服務
Spring Boot CORS支持
Spring Boot國際化
Spring Boot調度
Spring Boot啓用HTTPS
Spring Boot Eureka服務器
Spring Boost Eureka服務註冊
Spring Boot Zuul代理服務器和路由
Spring Boot雲配置服務器
Spring Boot雲配置客戶端
Spring Boot Actuator
Spring Boot管理服務器
Spring Boot管理客戶端
Spring Boot啓用Swagger2
Spring Boot創建Docker鏡像
Spring Boot跟蹤微服務日誌
Spring Boot Flyway數據庫
Spring Boot發送電子郵件
Spring Boot Hystrix
Spring Boot Web Socket
Spring Boot批量服務
Spring Boot Apache Kafka
Spring Boot單元測試用例
Spring Boot Rest控制器單元測試
Spring Boot數據庫源(連接數據庫)
Spring Boot保護Web應用程序

Spring Boot入門

Spring Boot項目歸根只是一個常規的Spring項目,只是利用了Spring Boot啓動程序和自動配置。要創建Spring Boot應用程序的方法,Spring團隊(The Pivotal Team)提供了以下三種方法。

可以使用Spring Boot開發兩種基於Spring的應用程序:

  • 基於Java的應用程序
  • 基於Groovy的應用程序

我們可以使用Spring Boot CLISpring STS IDESpring Initializr 網站來開發Spring Boot Groovy應用程序。 但是,我們可以使用Spring STS IDESpring Initializr網站來開發Spring Boot Java應用程序。

Spring

無論如何,Groovy也是JVM語言幾乎類似於Java語言。可以將Groovy和Java組合成一個項目。因爲就像Java文件一樣,Groovy文件最終只能編譯成 *.class 文件。 *.groovy*.java 文件都轉換爲 *.class 文件(相同字節代碼格式)。

Spring Boot框架編程模型的靈感來自Groovy編程模型。 Spring Boot在內部使用一些基於Groovy的技術和工具來提供默認的導入和配置。

Spring Boot框架還將現有的Spring Framework註釋組合爲一些簡單或單個註釋。 我們將在後面的帖子中逐個探索這些註釋,並附帶一些實時示例。

Spring Boot框架將Spring-Java應用程序編程模型徹底改變爲新的編程模型。到目前爲止,Spring Boot只處於初始階段,但未來肯定都使用Spring Boot

Spring Boot CLI

它是使用Spring Boot的最簡單和最快速的方法。它是一個用於執行groovy腳本的命令行工具。可以按照以下步驟安裝此工具:

  1. 這裏下載此項目的二進制發行版。 Spring Boot CLI需要Java JDK V1.6或更高版本才能運行。 Groovy v2.1作爲此分發包的一部分進行打包,因此不需要安裝(任何現有的Groovy安裝都將被忽略)
  2. 如果解壓zip文件,就會發現spring.bat將檢查所有的設置。此腳本可以在目錄/bin下找到。

下載Spring Boot CLI Zip文件到本地文件系統,並將spring-boot-cli-1.4.3.RELEASE.zip文件解壓縮到本地文件系統中,在本實例中我們解壓到 D:\software\yiibai\spring-1.4.3.RELEASE 目錄下。

Spring

在Windows系統中設置Spring Boot CLI環境變量,如下所示。

set PATH=D:\software\yiibai\spring-1.4.3.RELEASE\bin;%PATH%;

右鍵「我的電腦」->」高級系統設置」->」高級」->」環境變量」->選擇」PATH」並新建並加上面的路徑D:\software\yiibai\spring-1.4.3.RELEASE\bin;。如下圖所示 -

Spring

執行以下命令驗證安裝結果 -

C:\Users\Administrator>spring --version
Spring CLI v1.4.3.RELEASE

現在Spring Boot CLI安裝過程已成功完成。在討論Spring Boot 「HelloWorld」示例之前,首先要確定從命令提示符運行Groovy腳本是否正確。

Spring Boot 「spring」命令

Spring Boot CLI提供了一個「spring」命令,用來從命令提示符運行Spring Boot Groovy腳本。Spring Boot 的「spring --help」命令有很多選項,可以將此命令用於不同的目的。其中有一個重要的選項是「run」選項。

「spring」命令語法:

spring run <SpringBoot-Groovy-Scriptname>

這裏是Spring Boot應用程序的Groovy腳本文件名。將使用這個命令來執行Spring Boot HelloWorld示例。下面來看看一個 Spring Boot CLI的入門程序,HelloWorld Spring Boot示例。

Spring Boot 的 Hello World示例

可以使用Spring Boot開發兩種基於Spring的應用程序。

  • Groovy應用程序
  • Java應用程序

Groovy應用程序:

現在我們來開發一個Spring Boot MVC Rest控制器示例。 這是在Pivotal團隊的Twitter上發佈的第一個例子,演示了Spring Boot框架牛逼的功能。請按照以下步驟開發Spring Boot Hello World示例:

  • 在本地文件系統中創建一個「HelloWorld」文件夾,放置groovy腳本,這裏放在 D:\software\yiibai\spring-1.4.3.RELEASE 目錄下。
  • 使用以下內容開發Groovy腳本文件。
@RestController
class HelloWorld {
  @RequestMapping("/")
  String hello() {
    "Hello JournalDev World."
  }
}

將此文件命名爲HelloWorld.groovy,這裏的「.groovy」擴展名是必須的。現在Spring Boot Hello World示例文件夾看起來如下圖 -

Spring

現在Spring Boot Hello World示例已準備好使用Spring MVC Rest控制器。運行和測試這個例子來了解Spring Boot框架。

在本地文件系統中的「HelloWorld」文件夾中打開命令提示符。執行以下命令 -

spring run HelloWorld.groovy

觀察「spring run」命令控制檯的輸出。

Spring

當執行「spring run HelloWorld.groovy」時,它會啓動嵌入的Tomcat服務器的默認端口號:8080。現在Spring Boot Hello World示例應用程序已啓動並正在運行。下面打開瀏覽器來測試一下。打開瀏覽器並訪問以下鏈接。訪問此URL:http://localhost:8080/

Spring

現在可以看到第一個Spring Boot MVC RESTful WebService示例運行的結果了。