江帥帥:精通 Spring Boot 系列 01
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=" xmlns:xsi=" xsi:schemaLocation=" <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 應用
開啟瀏覽器,在位址列中輸入請求地址:
,然後回車進行訪問。
未完待續,等我下一篇嗷 ~~~
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69976011/viewspace-2698522/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 江帥帥:精通 Spring Boot 系列 02Spring Boot
- 江帥帥:精通 Spring Boot 系列 03Spring Boot
- 江帥帥:精通 Spring Boot 系列 04Spring Boot
- 江帥帥:精通 Spring Boot 系列 05Spring Boot
- 江帥帥:精通 Spring Boot 系列 06Spring Boot
- 艦隊統帥
- 蘇嵌/楊帥/0711
- 蘇嵌//楊帥/2018.7.10
- Spring-boot01Springboot
- L1-020 帥到沒朋友
- 帥初的“羅生門”漩渦
- 王廣帥IM工程執行記錄
- Spring Boot系列十九 Spring boot整合 swaggerSpring BootSwagger
- Linux安裝Nginx 作者:哇塞大嘴好帥LinuxNginx
- 超帥氣的網站-我愛冷笑話網站
- Spring Boot系列(一):Spring Boot快速開始Spring Boot
- Spring Boot系列(四):Spring Boot原始碼解析Spring Boot原始碼
- Spring Boot系列(一):Spring Boot 入門篇Spring Boot
- Spring Boot2 系列教程(三)理解 Spring BootSpring Boot
- 可能輕微捯飭下,IT 男就能變帥了
- L1-020 帥到沒朋友 分數 20
- 換一個帥一點姿勢實現DexHunter
- 逝去的 2020,帥地期待過,也曾迷茫過...
- 這樣寫程式碼,真是帥到沒有朋友
- Spring Boot系列(三):Spring Boot整合Mybatis原始碼解析Spring BootMyBatis原始碼
- 酷帥吊炸天的 Pandas 常用操作命令彙總
- WFee路由器近日流出諜照,外形帥到沒朋友!路由器
- 手撕redis分散式鎖,隔壁張小帥都看懂了!Redis分散式
- 技術向上,雪坡向下:拼多多的“新帥”與新路
- Spring Boot乾貨系列:(十二)Spring Boot使用單元測試Spring Boot
- Spring Boot系列(四) Spring Cloud 之 Config ClientSpring BootCloudclient
- 史丹佛AI實驗室換帥!Christopher Manning接替李飛飛AI
- Spring Boot系列筆記--整合RedisSpring Boot筆記Redis
- Spring Boot GraphQL 實戰 01_快速入門Spring Boot
- Spring Boot乾貨系列:(十三)Spring Boot全域性異常處理整理Spring Boot
- Spring Boot系列十七 Spring Boot 整合 websocket,使用RabbitMQ做為訊息代理Spring BootWebMQ
- Spring Boot -01- 快速入門篇(圖文教程)Spring Boot
- Spring Boot系列十六 WebSocket簡介和spring boot整合簡單訊息代理Spring BootWeb