前言
在沒有SpringBoot之前,我們搭建的是SSM(SpingMVC+Spring+Mybatis)項目,搭建SSM項目的時候,我們要經過一系列的繁瑣配置,例如:application,web.xml,spring-servlet等等的配置信息。如果我們這些配置出現一點點的錯誤。那么面臨的就是尋找一大堆的Bug,而且還出現一些我們看難以看懂的異常,對於English不好的同志來說,這是內傷。那么SpringBoot到底解決了什么問題呢?簡單來說,SpringBoot主要簡化了我們的配置操作,將那些我們需要配置的東西封裝好了,我們拿來即用,它的好處如下
-
創建獨立的Spring應用程序
-
嵌入的Tomcat,無需部署WAR文件
-
簡化Maven配置
-
自動配置Spring
-
提供生產就緒型功能,如指標,健康檢查和外部配置
-
絕對沒有代碼生成並且對XML也沒有配置要求
本章目標
通過使用idea快速搭建SpringBoot項目,對SpringBoot能夠有簡單的入門
項目搭建
1.新建一個SpringBoot項目,打開開發工具idea,選擇Create New Project

2.選擇Spring Initializr,點擊Next

3.這里有些關於maven的知識,由於博主暫時沒有寫關於Maven的博客,希望各位能夠諒解,博主在今后的時間會補上。點擊next

4.這一部分的界面有許多依賴,當我們后期的開發中需要用到的時候可以選擇,現在的話我們就什么都不選,直接點擊Next

5.直接點擊finish,一個簡單的SpringBoot項目就完成了

6.簡單的SpringBoot項目結構如下

7.每一個SpringBoot項目都有一個主程序,直接啟動,這里我們不需要配置Tomcat,主程序結構如下。

8.我們直接可以運行項目,SpringBoot默認端口是8080端口,后期可以通過配置文件進行修改,在地址欄輸入localhost:8080,此時的話什么都沒有,別急,我們新建一個控制器,然后添加一些靜態數據模擬數據庫,在添加控制器之間我們需要添加一些依賴,這個依賴屬於web部分,在最開始直接依賴那一部分我們沒有選擇,所以我們就主動添加依賴。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
9.目錄結構和控制器代碼如下

package com.ssm.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
@RestController
public class IndexController {
@RequestMapping("/index")
public Map index(){
Map map=new HashMap();
map.put("name","一只流浪的KK");
map.put("type","公猿");
map.put("sex","male");
return map;
}
}
10.現在我們一切准備就緒,點擊運行,然后在地址欄輸入localhost:8080/index,此時界面表示沒有找到,別急,還有特別重要的一步沒有寫完,我發現許多博主都沒有寫到,在這里我就將他們的坑填上。

11.各位是否還記得我們之前所說的每一個SpringBoot項目都有一個主程序入口,現在我們就去主程序入口配置一下。新增一個注解,后期的博客我將會詳細講解每一個注解的作用。在這里就不一一介紹了。

12.此時,我們在重新啟動項目,然后在地址欄輸入localhost:8080/index,如果出現如下結果,那么恭喜各位已經成功完成了第一個SpringBoot項目。此時我們看到已經可以顯示數據了。

13.在這里我補充一下,@RestController和@Controller區別
(1):@RestController是@Controller和@ResponseBody的結合,當在一個控制器里標注了@RestController的時候,那么整個控制器的返回值都是json,而無法返回視圖,如果需要返回視圖可以使用@Controller。
(2):當使用@Controller的時候,我們一般返回視圖,如果需要返回json,那么請在需要返回json的方法上方標注@ResponseBody,就可以返回json了。

