当前位置: 首页 > news >正文

Spring Boot Web 入门

目录

Spring Boot Web 是 Spring Boot 框架的一个重要模块,它简化了基于 Spring 的 Web 应用程序的开发过程。以下是一个 Spring Boot Web 项目的入门指南,涵盖了项目创建、代码编写、运行等关键步骤。

1. 项目创建

使用 Spring Initializr

使用 IDE 创建

2. 项目结构分析

3. 编写简单的 Web 控制器

4. 配置应用属性(可选)

5. 运行项目

6. 测试应用

7. 处理表单数据和视图渲染(进阶)

处理表单数据

视图渲染


Spring Boot Web 是 Spring Boot 框架的一个重要模块,它简化了基于 Spring 的 Web 应用程序的开发过程。以下是一个 Spring Boot Web 项目的入门指南,涵盖了项目创建、代码编写、运行等关键步骤。

1. 项目创建

使用 Spring Initializr

Spring Initializr 是一个基于 Web 的工具,可帮助你快速生成 Spring Boot 项目骨架。

  1. 访问 Spring Initializr。
  2. 在该页面进行如下配置:
    • Project:选择 Maven Project(如果习惯使用 Gradle 也可选择 Gradle)。
    • Language:选择 Java
    • Spring Boot:选择合适的版本,通常建议选择最新的稳定版本。
    • Group:填写项目的组织名,例如 com.example
    • Artifact:填写项目的名称,例如 spring - boot - web - demo
    • Dependencies:在搜索框中输入 Spring Web,然后选择该依赖添加到项目中。
  3. 点击 Generate 按钮下载生成的项目压缩包。
  4. 将下载的压缩包解压到本地目录,并用你喜欢的 IDE(如 IntelliJ IDEA 或 Eclipse)打开项目。

使用 IDE 创建

  • IntelliJ IDEA
    1. 打开 IntelliJ IDEA,选择 File -> New -> Project
    2. 在左侧选择 Spring Initializr,配置项目的 SDK、Group、Artifact 等信息。
    3. 在 Dependencies 中搜索并添加 Spring Web 依赖。
    4. 点击 Next 和 Finish 完成项目创建。

2. 项目结构分析

创建好的 Spring Boot Web 项目具有以下典型结构:

plaintext

spring-boot-web-demo
├── src
│   ├── main
│   │   ├── java
│   │   │   └── com
│   │   │       └── example
│   │   │           └── springbootwebdemo
│   │   │               ├── SpringBootWebDemoApplication.java
│   │   ├── resources
│   │   │   ├── application.properties
│   │   │   ├── static
│   │   │   ├── templates
│   ├── test
│       │   ├── java
│       │       └── com
│       │           └── example
│       │               └── springbootwebdemo
│       │                   ├── SpringBootWebDemoApplicationTests.java
├── pom.xml

  • SpringBootWebDemoApplication.java:这是项目的启动类,包含 main 方法,用于启动 Spring Boot 应用。
  • application.properties:用于配置应用的属性,如服务器端口、数据库连接信息等。
  • static 目录:用于存放静态资源,如 HTML、CSS、JavaScript 文件等。
  • templates 目录:用于存放模板文件,如 Thymeleaf 模板。
  • pom.xml:Maven 项目的配置文件,包含项目的依赖信息。

3. 编写简单的 Web 控制器

在 src/main/java 目录下的主包(如 com.example.springbootwebdemo)中创建一个控制器类。以下是一个简单的示例:

java

package com.example.springbootwebdemo;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class HelloController {@GetMapping("/hello")public String hello() {return "Hello, Spring Boot Web!";}
}

  • @RestController:这是一个组合注解,相当于 @Controller 和 @ResponseBody 的组合,用于标记该类是一个 RESTful 风格的控制器,返回的数据会直接作为 HTTP 响应体。
  • @GetMapping("/hello"):表示该方法处理 HTTP GET 请求,请求路径为 /hello

4. 配置应用属性(可选)

如果你想修改服务器的默认端口,可以在 application.properties(在src/main/resources 目录 文件中添加以下配置:

properties

server.port=8081

上述配置将服务器的端口修改为 8081。

5. 运行项目

运行 SpringBootWebDemoApplication 类中的 main 方法来启动 Spring Boot 应用。启动成功后,控制台会输出类似以下信息:

plaintext

Started SpringBootWebDemoApplication in X.XXX seconds (JVM running for X.XXX)

6. 测试应用

打开浏览器或使用工具(如 Postman)访问 http://localhost:8080/hello(如果修改了端口则使用相应的端口),你将看到页面显示 Hello, Spring Boot Web!

7. 处理表单数据和视图渲染(进阶)

处理表单数据

可以创建一个控制器方法来处理表单提交的数据。以下是一个简单的示例:

java

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;@Controller
public class FormController {@GetMapping("/form")public String showForm() {return "form";}@PostMapping("/form")public String processForm(@RequestParam("name") String name, Model model) {model.addAttribute("message", "Hello, " + name + "!");return "result";}
}
视图渲染

使用 Thymeleaf 模板引擎进行视图渲染。首先,在 pom.xml 中添加 Thymeleaf 依赖:

xml

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

然后在 src/main/resources/templates 目录下创建 form.html 和 result.html 模板文件:

  • form.html

html

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head><title>Form Example</title>
</head>
<body><form action="#" th:action="@{/form}" method="post"><label for="name">Name:</label><input type="text" id="name" name="name" /><input type="submit" value="Submit" /></form>
</body>
</html>

  • result.html

html

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head><title>Result</title>
</head>
<body><p th:text="${message}"></p>
</body>
</html>

现在访问 http://localhost:8080/form

填写表单并提交,你将看到处理结果。本示例输入5555。

通过以上步骤,你已经完成了一个简单的 Spring Boot Web 应用的开发,并且可以在此基础上进一步扩展和优化。

http://www.lryc.cn/news/532988.html

相关文章:

  • 神经网络|(八)概率论基础知识-二项分布及python仿真
  • 【面试场景】MySQL分布式主键选取
  • 执行git stash drop stash@{x} 时出现error: unknown switch `e‘ 的解决方式
  • 链表和 list
  • windows 蓝牙驱动开发-传输总线驱动程序常见问题
  • Qt修仙之路2-1 炼丹初成
  • 【含开题报告+文档+PPT+源码】基于SpringBoot+Vue宠物预约上门服务预约平台
  • 无线AP之详解(Detailed Explanation of Wireless AP)
  • Spring Boot Actuator与JMX集成实战
  • mac环境下,ollama+deepseek+cherry studio+chatbox本地部署
  • camera光心检测算法
  • 【MySQL】向后兼容设计规范(无回滚场景)
  • 还搞不透stm32单片机启动过程?一篇文章几百字让你彻底看懂!
  • 无界构建微前端?NO!NO!NO!多系统融合思路!
  • DeepSeek辅助段落扩写的能力怎么样?
  • 分形的魅力:数学与艺术的完美结合
  • 如何通过工业智能网关进行数控机床数据采集?
  • 水波效果
  • 康谋方案 | BEV感知技术:多相机数据采集与高精度时间同步方案
  • 【重新认识C语言----结构体篇】
  • #渗透测试#批量漏洞挖掘#Splunk Enterprise for Windows 任意文件读取漏洞( CVE-2024-36991)
  • 苹果公司宣布正式开源 Xcode 引擎 Swift Build145
  • 7.list
  • Qt+海康虚拟相机的调试
  • 数据库基础练习4(有关索引,视图完整解答)
  • 实操给触摸一体机接入大模型语音交互
  • Excel中对单列数据进行去重筛选
  • K8s —基础指南(K8s - Basic Guide)
  • ABAP开发中的前导零和末尾零
  • Baklib赋能数字内容体验个性化推荐提升用户体验的未来之路