閱讀全文,約 12 分鐘
這是江帥帥的第001篇原創
1、Spring Boot 概述
Spring 框架,作為一個非常優秀的輕量級容器,在企業級項目開發中非常受歡迎,但它在使用期間需要整合眾多第三方資源,都會導致配置過於臃腫,這也是令大家非常頭疼的問題。
Spring Boot 的出現,就是為了讓大家更方便去使用 Spring 框架進行開發,它基於「約定優於配置(COC)」的設計理念,它實現了自動化配置解決方案,包括自動配置第三方資源,從而簡化了 Spring 應用的創建、運行、調試、部署等方便的操作,讓開發者更專注在應用業務的實現上。
其實,Spring Boot 可以想像成一個中介,它是開發者和 Spring 框架的簡化溝通平台,有些「手續(應用的配置)」它直接就幫我們辦理好了,這些「手續」其實就是業務流程中某些默認的流程(也就是默認的配置),剛好就是上面說的「約定優於配置」的理念。Sprint Boot 的最終目的,就是為了提升開發者在業務實現上的專注度。
2、Spring Boot 的優勢
- 繼承了 Spring 框架自身優秀的特性。
- 能夠讓配置更簡單,通過自動配置快速搭建 Spring 應用項目。
- 能夠以 jar 文件形式獨立運行項目。
- 更強大的註解,讓業務實現更簡化。
- 內嵌了常見的 Web 伺服器,讓你隨時使用 Tomcat、Jetty 等。
- 提供了企業生產級項目的服務監控方案,讓監控更加簡單。
- 還有一些非功能性的通用配置,適應更多的開發需求。
- 可進行分布式開發,結合 Spring Cloud 進行微服務開發。
3、搭建 Spring Boot 項目
3.1 創建 maven 項目
第一步:菜單欄中選擇 File → New → Project... 彈出下圖,然後選擇 Maven,再點擊 Next 即可。
第二步:填寫組織名稱、模塊名稱、項目版本等相關信息,如下圖:
第三步:選擇項目的保存位置,如下圖:
創建好之後的項目具體目錄,如下圖:
創建好之後的項目本地文件夾具體目錄,如下圖:
3.2 關於項目中目錄的相關解釋
- src/main/java:用來存儲編寫好的 Java 源碼文件,也就是 xxx.java 文件。
- src/main/resources:用來存儲編寫好的配置文件。
- src/test/java:主要用來存儲測試用的 Java 源碼文件。
3.3 添加配置與代碼
第1步:編輯 pom.xml 文件
pom.xml 文件,全稱項目對象模型(Project Object Model)描述文件,作為 Maven 的基礎配置文件,常被用來指定項目中的依賴配置。
接著,我們需要在 pom.xml 文件中添加相關依賴,具體如下:
首先,使用 <parent> 標籤指定 spring-boot-starter-parent 依賴模塊,單從標籤名字上來看,就知道它想指定(繼承)父類級別的東西。
在構建 Spring Boot 應用時設置它,也就意味著會自動包含能簡化我們工作的自動配置、日誌和 YAML 等大量的配置。它作為 Spring Boot 的核心啟動器,提供一些 Maven 默認的配置和 dependency-management,能讓你快速使用 Spring Boot 進行開發。
比如,這裡指定了 parent 的版本號,當我們在引入其他依賴的時候,就不用再去關心它們的版本號了,在以前是需要考慮的,而且還很容易引起版本衝突。
編輯 pom.xml 文件
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
</parent>
如果,我們需要進行 Web 開發,還需要指定 spring-boot-starter-web 依賴模塊,需要在 pom.xml 文件中添加 <dependency…/> 元素來進行指定,具體如下:
指定 web 依賴模塊
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
最後,還可以通過 <build …/> 元素來添加插件,比如設置 Spring Boot 的 Maven 插件 Spring Boot Maven plugin,它能夠為 Spring Boot 應用提供執行 Maven 操作。此插件,能夠將 Spring Boot 應用進行打包為可執行的 jar 或 war 形式的文件,然後以通常的方式來運行。具體配置如下:
添加 maven 插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
完整的 pom.xml 文件,具體如下:
完整的 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>com.nx</groupId>
<artifactId>SpringDemo</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- 指定 parent 版本 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
</parent>
<!-- 指定 web 依賴模塊 -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<!-- 設置 maven 插件 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
第2步:添加 Controller 類
新建一個 com.nx 的 package,然後添加一個 HelloControler 類,如圖位置:
HelloController 控制器類的代碼,具體如下:
HelloController 控制器
package com.nx.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@RequestMapping("/hello")
public String sayHello(){
return "I Love Spring Boot.";
}
}
@RestController 註解是一個組合註解,它包含了 @Controller 和 @ResponseBody 兩個註解,說明它能以 JSON 格式進行響應數據。註解的源碼如下:
@RestController 註解源碼
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller
@ResponseBody
public @interface RestController {
@AliasFor(
annotation = Controller.class
)
String value() default "";
}
第3步:添加 Spring Boot 啟動類
啟動類的路徑,需要能夠讓 spring boot 掃描得到其他的組件,添加位置:
SpringBootApp 啟動類的代碼,具體如下:
SpringBootApp 啟動類
package com.nx;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
// 用於指定 Spring Boot 應用的啟動類
@SpringBootApplication
public class SpringBootApp {
public static void main(String[] args) {
// 從 main 方法中進行啟動 Spring 應用中的類
SpringApplication.run(SpringBootApp.class, args);
}
}
3.4 啟動 Spring Boot 項目
有三種啟動方式,具體如下:
- 使用 Maven 命令啟動
- 運行 main 方法啟動
- 使用 Maven 打包啟動
第1種:使用 Maven 命令啟動
使用 Maven 命令:
spring-boot:run
指定項目路徑和 Maven 命令,具體如下
第 2 種:運行 main 方法啟動
第 3 種:使用 Maven 打包啟動
需要將 Spring Boot 應用打成一個 jar 包運行。
首先,在 IDEA 的右邊欄中,打開 Maven 即可看到如下頁面,雙擊 package 命令。
然後,找到項目所在路徑下的 target 文件夾,打開即可看到生成的 jar 文件。
最後,通過命令行進入到 jar 文件所在目錄下,並執行 java -jar 命令。
java -jar .\SpringDemo-1.0-SNAPSHOT.jar
3.5 訪問 Spring Boot 應用
打開瀏覽器,在地址欄中輸入請求地址:
http://localhost:8080/hello,然後回車進行訪問。
未完待續,等我下一篇嗷 ~~~
轉自:公眾號:江帥帥(ID:NXJSS666)