Spring Boot快速入門
一、環境搭建
1. 建立Maven工程
使用idea工具建立一個maven工程,該工程為普通的java工程即可
2. 新增Spring Boot的起步依賴
Spring Boot要求專案要繼承Spring Boot的起步依賴spring-boot-starter-parent
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.1.RELEASE</version> </parent>
Spring Boot要整合SpringMVC進行Controller的開發,所以專案要匯入web的啟動依賴
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
3. 編寫Spring Boot引導類
要通過Spring Boot提供的引導類起步Spring Boot才可以進行訪問
package com.itheima; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class MySpringBootApplication { public static void main(String[] args) { SpringApplication.run(MySpringBootApplication.class); } }
4. 編寫Controller
在引導類MySpringBootApplication同級包或者子級包中建立QuickStartController
package com.itheima.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class QuickStartController {
@RequestMapping("/quick")
@ResponseBody
public String quick(){
return "hello springboot!!!";
}
}
5. 測試
執行SpringBoot起步類的主方法,控制檯列印日誌如下:
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.0.1.RELEASE)
2018-05-08 14:29:59.714 INFO 5672 --- [ main] com.itheima.MySpringBootApplication : Starting MySpringBootApplication on DESKTOP-RRUNFUH with PID 5672 (C:\Users\muzimoo\IdeaProjects\IdeaTest\springboot_quick\target\classes started by muzimoo in C:\Users\muzimoo\IdeaProjects\IdeaTest)
... ... ...
o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-05-08 14:30:03.126 INFO 5672 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2018-05-08 14:30:03.196 INFO 5672 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2018-05-08 14:30:03.206 INFO 5672 --- [ main] com.itheima.MySpringBootApplication : Started MySpringBootApplication in 4.252 seconds (JVM running for 5.583)
通過日誌發現,Tomcat started on port(s): 8080 (http) with context path ''
tomcat已經起步,埠監聽8080,web應用的虛擬工程名稱為空
開啟瀏覽器訪問url地址為:http://localhost:8080/quick
二、快速入門解析
1. Spring Boot程式碼解析
- @SpringBootApplication:標註Spring Boot的啟動類,該註解具備多種功能(後面詳細剖析)
- SpringApplication.run(MySpringBootApplication.class) 代表執行Spring Boot的啟動類,引數為Spring Boot啟動類的位元組碼物件
2. Spring Boot工程熱部署
我們在開發中反覆修改類、頁面等資源,每次修改後都是需要重新啟動才生效,這樣每次啟動都很麻煩,浪費了大量的時間,我們可以在修改程式碼後不重啟就能生效,在 pom.xml 中新增如下配置就可以實現這樣的功能,我們稱之為熱部署。
<!--熱部署配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
注意:IDEA進行Spring Boot熱部署失敗原因
出現這種情況,並不是熱部署配置問題,其根本原因是因為Intellij IEDA預設情況下不會自動編譯,需要對IDEA進行自動編譯的設定,如下:
然後 Shift+Ctrl+Alt+/,選擇Registry
三、使用idea快速建立Spring Boot專案
通過idea快速建立的Spring Boot專案的pom.xml中已經匯入了我們選擇的web的起步依賴的座標,並且已經為我們編寫好了引導類。因此,我們只需要編寫Controller類即可。