SpringBoot 第一篇:入門篇

做者:追夢1819
原文:https://www.cnblogs.com/yanfei1819/p/10819728.html
版權聲明:本文爲博主原創文章,轉載請附上博文連接!html

前言

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

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

  此爲本系列博客的寫做初心。程序員


概念

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

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

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


優勢

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

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

  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.GET)
    public String helloWord(){
        return "Hello Word,SpringBoot!";
    }
}

注意兩點:

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

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


總結

  SpringBoot 涉及的內容不少,若是沒有一個系統的主線去學習,會感受很零散。以上內容做爲本系列博客的入門篇。後續會將 SpringBoot 的功能點一一展開。
  源碼:個人GitHub

本文同步於公衆號【技術和人生】,歡迎關注。

相關文章
相關標籤/搜索