1. 程式人生 > 實用技巧 >Spring Boot快速入門

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類即可。