1. SpringBoot 入門

捞月亮的小北發表於2024-05-02

1. SpringBoot 簡介

SpringBoot是由Pivotal團隊提供的全新框架,可以幫助我們開發基於Spring的、獨立的、生產級的應用程式。

其中SpringBoot的官網是:Spring Boot Reference Documentation


SpringBoot的主要目標是:

  • 為所有Spring開發提供更快的入門體驗

  • 開箱即用,提供了自動配置

  • 提供一系列大型專案通用的非功能性特性

    • 外部化配置、嵌入式伺服器、安全性、健康檢查、指標
  • 完全不需要程式碼生成,也不需要XML配置


注意:SpringBoot 並不是Spring功能上的增強,而是提供了一種快速使用Spring的方式。

2. SpringBoot入門

2.1 入門案例開發步驟

這裡先採用的是手動建立的方式

  1. 新建Maven專案

  2. 引入依賴

        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.7.3</version>
        </parent>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
        </dependencies>
    
  3. 建立引導類

    package com.north;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    /**
     * @Author North
     * @Date 2024/5/2
     */
    @SpringBootApplication
    public class Application {
        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
        }
    }
    
  4. 開發控制器類

    package com.north.controller;
    
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    /**
     * @Author North
     * @Date 2024/5/2
     */
    @RestController
    @RequestMapping("/books")
    public class BookController {
    
        @RequestMapping("/save")
        public String save() {
            System.out.println("user save");
            return "hello springboot!";
        }
    
    }
    
  5. 執行自動生成的Application類

    image

    image


2.2 透過idea骨架進行建立

image

2.3 基於SpringBoot官網進行建立

官網地址

image

3. 思考:

  1. 入門案例中沒有引入spring-webmvc等依賴包,沒有配置Tomcat伺服器,為什麼能正常啟動?

    1. SpringBoot 內部整合的含有tomcat

      image

  2. 沒有配置埠號,為什麼埠是8080?

    1. Tomcat埠號預設配置為8080

4. SpringBoot 入門總結 - 起步依賴

  • starter

    • SpringBoot中常見專案名稱,定義了當前專案使用的所有專案座標,以達到減少依賴配置的目的
  • parent

    • 所有SpringBoot專案要繼承的專案,定義了若干個座標版本號(依賴管理,而非依賴),以達到減少依賴衝突的目的
    • spring-boot-starter-parent(2.5.0)與 spring-boot-starter-parent(2.4.6)共計57處座標版本不同

實際開發

  • 使用任意座標時,僅書寫GAV中的G和A,V由SpringBoot提供
  • 如發生座標錯誤,再指定version(要小心版本衝突)

pom中starter、parent作用是什麼?

  • starter:減少依賴配置
  • parent: 減少依賴衝突

image

相關文章