1. 程式人生 > >SpringBoot 第一篇:入門篇

SpringBoot 第一篇:入門篇

獨立 rop 構建 應用 簡潔 建網站 value imp XML

前言

??博主從去年開始,項目中使用的框架逐漸被 SpringBoot 取代。今年獨立負責的兩個項目也都是用 SpringBoot ,看過不少資料、博客。網上的資源,內容有長有短,參差不齊。有的內容甚至存在誤導性,誤導讀者從另一個坑跳進另一個坑。另外,在項目中使用的 SpringBoot 的功能比較零散。

??基於此,想系統整理其相關的知識點以及項目中踩得坑,並記錄。一是作為自己的一個成長筆記,一是提醒後來的新人繞過已經踩過的坑。

??此為本系列博客的寫作初心。


概念

??Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。

??springboot 不是一門新技術。它是一個簡化Spring應用開發的一個框架,整個Spring技術棧的一個大整合,更提供了J2EE開發的一站式解決方案。

??博主更願意把它理解為一個技術平臺(不知道這樣理解是否合適,歡迎大佬拍磚),幾乎把所有的Java主流技術都整合進去,讓開發者“隨用隨取”,不會陷入到繁雜的配置文件中無法自拔。


優點

  1. 自動化配置(springboot的核心特性);

  2. 簡化spring的配置,無需xml配置文件;

  3. 內嵌了Tomcat、Jetty等容器;

  4. 直接運行jar包;

    ......


核心

spring 應用程序開發中,有四個核心:

  • 自動配置:針對很多Spring應用程序常見的應用功能,Spring Boot能自動提供相關配置
  • 起步依賴:告訴Spring Boot需要什麽功能,它就能引入需要的庫。
  • 命令行界面:這是Spring Boot的可選特性,借此你只需寫代碼就能完成完整的應用程序,無需傳統項目構建。
  • Actuator:讓你能夠深入運行中的Spring Boot應用程序,一套究竟。

由於篇幅所限,此處先接觸一下基本概念,不做深入講解。後續會一一展開。


快速構建項目

maven構建項目

  1. 進入SpringBoot 項目構建網站 https://start.spring.io/ (如下);

技術分享圖片

  1. 選擇對應的工具、語言、版本、相關信息、依賴等,按住 alt + Enter 下載,然後解壓,導入IDE。

IDEA 構建項目

??個人推薦使用 idea 構建, 方便,簡潔,“傻瓜式”構建,直接 下一步 即可。感興趣的可以參照之前的博客:https://www.cnblogs.com/yanfei1819/p/7798499.html


項目結構說明

如上圖所示,Spring Boot項目的基礎結構共三個文件:

  • src/main/java 程序開發以及主程序入口
  • src/main/resources 配置文件
  • src/test/java 測試程序
  • DemoApplication 類是程序入口
  • application.properties 是程序配置文件

在引入web模塊後,src/main/resources/static 是靜態資源文件放置路徑;src/main/resources/template 是使用模板引擎時放置的 .html 靜態頁面。還有其他的一些路徑,後續會一一闡述。


程序啟動

??程序員的入門課一般都是 Hello Word! ,下面我們演示 SpringBoot 版的 Hello Word!

創建controller層:

package com.yanfei1819.demo.web.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * Created by 追夢1819 on 2019-05-06.
 */
@Controller
public class HelloWordController {
    @ResponseBody
    @GetMapping("/helloWord") // <===> @RequestMapping(value = "/helloWord",method = RequestMethod.POST)
    public String helloWord(){
        return "Hello Word,SpringBoot!";
    }
}

註意兩點:

  1. @GetMapping("/helloWord") 等價於 @RequestMapping(value = "/helloWord",method = RequestMethod.POST)
  2. 加上 @ResponseBody 後,返回結果不會被解析為跳轉路徑,而是直接寫入返回值中。如果不加,則會解析為跳轉路徑;
  3. 程序默認的端口號是 8080,可以通過 application.properties 配置文件的 server.port= 進行修改。

以上程序通過 postman 測試結果是:

技術分享圖片


總結

??SpringBoot 涉及的內容很多,如果沒有一個系統的主線去學習,會感覺很零散。以上內容作為本系列博客的入門篇。後續會將 SpringBoot 的功能點一一展開。

SpringBoot 第一篇:入門篇