1. SpringBoot 简介

SpringBoot是由Pivotal团队提供的全新框架,可以帮助我们开发基于Spring的、独立的、生产级的应用程序。

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


SpringBoot的主要目标是:

  • 为所有Spring开发提供更快的入门体验
  • 开箱即用,提供了自动配置
  • 提供一系列大型项目通用的非功能性特性

    • 外部化配置、嵌入式服务器、安全性、健康检查、指标
  • 完全不需要代码生成,也不需要XML配置

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

2. SpringBoot入门

2.1 入门案例开发步骤

这里先采用的是手动创建的方式

  1. 新建Maven项目
  2. 引入依赖

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <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. 创建引导类

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    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. 开发控制器类

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    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