在沒有SpringBoot以前,咱們搭建的是SSM(SpingMVC+Spring+Mybatis)項目,在搭建SSM項目的時候,咱們要通過一系列的繁瑣配置,例如:application,web.xml,spring-servlet等等的配置信息。若是咱們這些配置出現一點點的錯誤。那麼面臨的就是尋找一大堆的Bug,並且還出現一些咱們看難以看懂的異常,對於English很差的同志來講,這是內傷。那麼SpringBoot到底解決了什麼問題呢?簡單來講,SpringBoot主要簡化了咱們的配置操做,將那些咱們須要配置的東西封裝好了,咱們拿來即用,它的好處以下java
經過使用idea快速搭建SpringBoot項目,對SpringBoot可以有簡單的入門web
1),新建一個SpringBoot項目,打開開發工具idea,選擇Create New Projectspring
2),選擇Spring Initializr,點擊Next數據庫
3),這裏有些關於maven的知識,因爲博主暫時沒有寫關於Maven的博客,但願各位可以諒解,博主在從此的時間會補上。點擊nextjson
4),這一部分的界面有許多依賴,當咱們後期的開發中須要用到的時候能夠選擇,如今的話咱們就什麼都不選,直接點擊Nexttomcat
5),直接點擊finish,一個簡單的SpringBoot項目就完成了app
6),簡單的SpringBoot項目結構以下框架
7),每個SpringBoot項目都有一個主程序,直接啓動,這裏咱們暫時不須要配置Tomcat,後期的話咱們可能會引入tomcat,主程序結構以下maven
8),咱們直接能夠運行項目,SpringBoot默認端口是8080端口,後期能夠經過配置文件進行修改,在地址欄輸入localhost:8080,此時的話什麼都沒有,別急,咱們新建一個控制器,而後添加一些靜態數據模擬數據庫,在添加控制器之間咱們須要添加一些依賴,這個依賴屬於web部分,在最開始直接依賴那一部分咱們沒有選擇,因此咱們就主動添加依賴。ide
<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區別,區別一:@RestController是@Controller和@ResponseBody的結合,當在一個控制器裏標註了@RestController的時候,那麼整個控制器的返回值都是json,而沒法返回視圖,若是須要返回視圖能夠使用@Controller,區別二:當使用@Controller的時候,咱們通常返回視圖,若是須要返回json,那麼請在須要返回json的方法上方標註@ResponseBody,就能夠返回json了。
1),若是你建的控制器文件是在SpringBoot應用程序同級目錄,則不須要配置@ComponentScan基礎掃描包,若是不指定,則默認Spring框架實現會從聲明@ComponentScan所在類的package進行掃描。