跳至主要內容

1. 快速入门

安图新大约 4 分钟

1. 快速入门

Spring Boot 3 简介

Spring Boot 帮助你创建独立的、生产级的基于 Spring 的应用程序。大多数 Spring Boot 应用程序只需要很少的 Spring 配置。
主要目标有:

1、 为所有 Spring 开发者提供一种快速的入门体验;
2、 做到开箱即用;
3、 提供大量非功能性特性相关项目(例如:内嵌服务器、安全、指标、健康检查、外部配置);
4、 无代码生成、无需编写 XML;

系统环境要求

Spring Boot 3.0.0 需要 Java 17open in new window. 还需要Spring Framework 6.0.0-M2open in new window 及以上版本。

开发工具 IntelliJ IDEA 2021.2.1 以及更高版本。

支持以下构建根据的版本

构建工具版本
Maven3.5+
Gradle7.x (7.4 or later)

Spring Boot 支持以下嵌入式 servlet 容器:

容器名称Servlet版本
Tomcat 10.05.0
Jetty 11.05.1
Undertow 2.2 (Jakarta EE 9 variant)5.1

Spring Boot 应用程序部署到任何兼容 servlet 5.0+的容器中。

安装

Spring Boot 3 可以与经典的 Java 开发工具一起使用,也可以作为命令行工具安装。无论那种方式都需要 Java 17 及以上版本。

Java17 mac 安装:

1、 下载地址https://download.oracle.com/java/17/latest/jdk-17_macos-x64_bin.dmg;

2、 下载完成后点击安装,命令行查看是否安装成功;

~ java -version
java version "17.0.2" 2022-01-18 LTS
Java(TM) SE Runtime Environment (build 17.0.2+8-LTS-86)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.2+8-LTS-86, mixed mode, sharing)

你可以像使用标准的 Java 库相同的方式使用 Spring Boot。只需要在 classpath 中包含适当的 spring-boot-*.jar 文件。Spring Boot 不需要任何特殊的工具集成,所以你可以使用任何 IDE 或文本编辑器。另外,Spring Boot 应用程序没有什么特别之处,因此你可以像运行任何其他 Java 程序一样运行和调试 Spring Boot 应用程序。虽然可以复制 Spring Boot jar,但通常建议使用支持依赖管理的构建工具(如 Maven 或 Gradle)。

maven

Spring Boot3 与 Apache Maven 3.5 或更高版本兼容。如果还没有安装 Maven,可以按照 maven.apache.org 上的说明进行操作。

大多数操作系统,Maven 可以使用包管理器安装,如果你用的 OSX Homebrew,可以使用brew install maven。Ubuntu 用户可以使用sudo apt-get install maven。使用Chocolateyopen in new window的 Windows 用户使用choco install maven

Spring Boot 依赖使用org.springframework.boot groupId。通常,你的 Maven POM 文件继承自spring-boot-starter-parent项目,并声明对一个或多个“Starter”的依赖。 Spring Boot 还提供了一个可选的 Spring Boot Maven Plugin 来创建可执行的 jar 文件。

开发第一个 Spring Boot 程序

此章节快速搭建一个 Spring Boot 3 应用程序,使用的开发工具 IDEA+Maven。

Spring Boot 官方提供了非常便捷的工具Spring Initializropen in new window帮助开发者快速的搭建 Spring Boot 应用程序,IDEA 也集成了此工具。

1.创建项目或者模块,选择 Spring Initializr,Java 版本为 17

 
 

2.选择 Spring Boot 版本 3.0.0,以及 Spring Web 依赖

 
 

3.目录结构

 
 

4. pom.xml 文件解析

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <!--引入Spring Boot3.0 父项目-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.0.0-M2</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>me.renpeng</groupId>
    <artifactId>first-springboot3-maven</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>first-springboot3-maven</name>
    <description>first-springboot3-maven</description>
    <properties>
        <!--Jdk版本要求17以上-->
        <java.version>17</java.version>
    </properties>
    <dependencies>
        <!--引入spring-boot-starter-web,支持web开发-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--引入单元测试starter-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <!--spring boot maven插件,支持maven的全流程命令以及程序运行-->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
    <repositories>
        <!--由于目前3.0还是处于里程碑版本,等到正式release版本,此配置不需要-->
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>

</project>

5.application.properties

#应用启动端口
server.port=8080
#应用名称
spring.application.name=first

6、 接口开发;

新建 FirstController 类

@RestController
public class FirstController {


    @RequestMapping("/hello")
    String hello() {


        return "First Spring Boot 3 Application!";
    }
}

7、 启动程序;

 
 

8、 访问接口;

浏览器或者 PostMan 访问接口 http://localhost:8080/hello,结果:

~ curl 'http://localhost:8080/hello'
First Spring Boot 3 Application!