一、Spring Boot 是什麼
世界上最好的檔案來源自官方的《Spring Boot Reference Guide》,是這樣介紹的:
Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”...Most Spring Boot applications need very little Spring configuration.
Spring Boot(英文中是“引導”的意思),是用來簡化Spring應用的搭建到開發的過程。應用開箱即用,只要透過 “just run”(可能是 java -jar 或 tomcat 或 maven外掛run 或 shell指令碼),就可以啟動專案。二者,Spring Boot 只要很少的Spring配置檔案(例如那些xml,property)。 因為“習慣優先於配置”的原則,使得Spring Boot在快速開發應用和微服務架構實踐中得到廣泛應用。 Javaer裝好JDK環境和Maven工具就可以開始學習Boot了~
原文連結:https://bysocket.com/spring_b...
二、Spring Boot Hello World 實戰詳解
首先得有個 maven 基礎專案,可以直接使用 Maven 骨架工程生成 Maven 骨架 Web 專案,即 man archetype:generate 命令:
mvn archetype:generate -DgroupId=springboot -DartifactId=springboot-helloworld -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
2.1 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>4.0.0</modelVersion>
<groupId>springboot</groupId>
<artifactId>springboot-helloworld</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springboot-helloworld :: HelloWorld Demo</name>
<!-- Spring Boot 啟動父依賴 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.3.RELEASE</version>
</parent>
<dependencies>
<!-- Spring Boot web依賴 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
</project>
只要加入一個 Spring Boot 啟動父依賴即可。
2.2 Controller 層
HelloWorldController的程式碼如下:
/**
* Spring Boot HelloWorld案例
*
* Created by bysocket on 16/4/26.
*/
@RestController
public class HelloWorldController {
@RequestMapping("/")
public String sayHello() {
return "Hello,World!";
}
}
@RestController和@RequestMapping註解是來自SpringMVC的註解,它們不是SpringBoot的特定部分。
1.@RestController:提供實現了REST API,可以服務JSON,XML或者其他。這裡是以String的形式渲染出結果。
- @RequestMapping:提供路由資訊,"/“路徑的HTTP Request都會被對映到sayHello方法進行處理。具體參考,世界上最好的檔案來源自官方的《 Spring Framework Document》
2.3 Spring Boot 啟動應用類
和第一段描述一樣,開箱即用。如下面Application類:
/**
* Spring Boot應用啟動類
*
* Created by bysocket on 16/4/26.
*/
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
}
- @SpringBootApplication:Spring Boot 應用的標識
- Application很簡單,一個main函式作為主入口。SpringApplication引導應用,並將Application本身作為引數傳遞給run方法。具體run方法會啟動嵌入式的Tomcat並初始化Spring環境及其各Spring元件。
2.4 Controller 層測試類
一個好的程式,不能缺少好的UT。針對HelloWorldController的UT如下:
/**
* Spring Boot HelloWorldController 測試 - {@link HelloWorldController}
*
* Created by bysocket on 16/4/26.
*/
public class HelloWorldControllerTest {
@Test
public void testSayHello() {
assertEquals("Hello,World!",new HelloWorldController().sayHello());
}
}
三、Spring Boot Hello World 案例執行
Just Run的宗旨,執行很簡單,直接右鍵Run執行Application類。同樣你也可以Debug Run。可以在控制檯中看到:
Tomcat started on port(s): 8080 (http)
Started Application in 5.986 seconds (JVM running for 7.398)
然後訪問 http://localhost:8080/ ,即可在頁面中看到Spring Boot對你 say hello:
Hello,World!
四、小結
- Spring Boot pom配置
- Spring Boot 啟動及原理
如以上文章或連結對你有幫助的話,別忘了在文章結尾處評論哈~ 你也可以點選頁面右邊“分享”懸浮按鈕哦,讓更多的人閱讀這篇文章。
出處:公號「程式設計師泥瓦匠」
部落格: https://bysocket.com/內容涵蓋 Java 後端技術、Spring Boot、Spring Cloud、微服務架構、運維開發、系統監控等相關的研究與知識分享。