楼层: 首页/ 软件技术/ Spring Boot 3.5/ 快速开始:5 分钟起一个 Web 服务
2

快速开始:5 分钟起一个 Web 服务

Quick Start

去 start.spring.io(Spring Initializr)选一下 Maven、Java 21、Spring Boot 3.5.x、加个 Spring Web 依赖,点生成,下载解压,用 IDE 打开,写一个 Controller,跑主类,浏览器访问 localhost:8080。完了。

pom.xml:spring-boot-starter-web 一个依赖顶过去一堆

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"> <modelVersion>4.0.0</modelVersion> <!-- 父工程:负责版本仲裁,子模块不用写版本号 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.5.4</version> <relativePath/> </parent> <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <properties> <java.version>21</java.version> </properties> <dependencies> <!-- Web 起步依赖:MVC + 内嵌 Tomcat + JSON,一个就够 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <!-- 打可执行 jar 的插件 --> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>

主启动类:就一个 @SpringBootApplication

package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; // 这个注解是 @Configuration + @EnableAutoConfiguration + @ComponentScan 的合体 @SpringBootApplication public class DemoApplication { public static void main(String[] args) { // 启动内嵌 Tomcat,扫描当前包及子包 SpringApplication.run(DemoApplication.class, args); } }

第一个 REST 接口

package com.example.demo.web; import org.springframework.web.bind.annotation.*; @RestController public class HelloController { @GetMapping("/hello") public String hello(@RequestParam(name = "name", defaultValue = "世界") String name) { return "你好," + name + "!Spring Boot 启动成功。"; } }
浏览器访问 http://localhost:8080/hello?name=豆包 返回:你好,豆包!Spring Boot 启动成功。

三种启动方式

方式命令 / 操作
IDE 直接跑在 DemoApplication 上点右键 Run。开发时最常用。
Maven 插件mvn spring-boot:run。
打 jar 后跑mvn package 后 java -jar target/demo-0.0.1-SNAPSHOT.jar。