Java 新手入门:Spring Boot 轻松整合 Spring 和 Spring MVC!

简介: Java 新手入门:Spring Boot 轻松整合 Spring 和 Spring MVC!

今天我们要学习的是如何用 Spring Boot  轻松整合 Spring 和 Spring MVC,就像搭积木一样简单!

为什么需要整合?

很多同学对 Spring、Spring MVC 和 Spring Boot 的关系傻傻分不清楚。想象一下,Spring 就像一个万能工具箱,里面有各种工具,而 Spring MVC 就像一把螺丝刀,专门用来处理 Web 请求。而 Spring Boot 就像一个神奇的工具箱,它已经提前把常用的工具(Spring 和 Spring MVC)放好了,并且帮你配置好了,你只需要打开就能直接使用,是不是超级方便?

实战演练:搭建一个简单的 Web 应用

光说不练假把式,让我们来搭建一个简单的 Web 应用,体验一下 Spring Boot 的魔力吧!

第一步:创建 Spring Boot 项目

你可以使用 Spring Initializr  (https://start.spring.io/) 快速创建一个 Spring Boot 项目,就像从菜单点餐一样简单!选择你需要的依赖,比如 Spring Web,然后点击“生成”按钮,一个崭新的项目就诞生了!


第二步:编写 Controller


Controller 就像一位勤劳的接待员,负责接收用户的请求并做出响应。让我们创建一个 HelloWorldController 类,并添加一个处理 /hello 请求的方法:

package com.example.demo.controller;
 
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
 
@Controller
public class HelloWorldController {
 
    @GetMapping("/hello")
    @ResponseBody
    public String hello(@RequestParam(name = "name", defaultValue = "World") String name) {
        return String.format("Hello, %s!", name);
    }
}
  • @Controller 注解告诉 Spring Boot,这是一个 Controller 类。
  • @GetMapping("/hello") 注解表示处理 GET 请求,路径为 /hello。
  • @RequestParam 注解表示从请求参数中获取值,参数名为 name,默认值为 World。
  • @ResponseBody 注解表示将方法的返回值直接作为响应内容返回。

第三步:添加 Thymeleaf 模板引擎

为了更好地展示数据,我们可以引入 Thymeleaf 模板引擎。在 pom.xml 中添加 Thymeleaf 依赖:

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


第四步:创建 Thymeleaf 模板

在 src/main/resources/templates 目录下创建一个名为 hello.html 的文件,内容如下:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Hello</title>
</head>
<body>
<h1 th:text="'Hello, ' + ${name} + '!'"></h1>
</body>
</html>
  • th:text 属性用于动态设置标签文本内容。

第五步:修改 Controller

修改 HelloWorldController,使用 ModelAndView 返回数据和视图:

package com.example.demo.controller;
 
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
 
@Controller
public class HelloWorldController {
 
    @GetMapping("/hello")
    public ModelAndView hello(@RequestParam(name = "name", defaultValue = "World") String name) {
        ModelAndView modelAndView = new ModelAndView("hello");
        modelAndView.addObject("name", name);
        return modelAndView;
    }
}
  • ModelAndView 用于封装数据和视图信息。
  • addObject 方法用于向模型中添加数据。

第六步:启动应用

运行 Spring Boot 应用的主程序,就像按下魔法棒的启动按钮一样!打开浏览器,访问 http://localhost:8080/hello?name=Spring,你将会看到页面上显示 "Hello, Spring!"。

代码解析

  • @SpringBootApplication: 核心注解,开启自动配置,整合 Spring 和 Spring MVC
  • @Controller:标识控制器类
  • @GetMapping:映射 HTTP GET 请求
  • @RequestParam:获取请求参数值
  • @ResponseBody:将方法返回值作为响应体
  • Thymeleaf 模板引擎:用于渲染动态页面,简化 Web 开发

总结

通过上面的例子,我们可以看到,使用 Spring Boot 整合 Spring 和 Spring MVC 非常简单,你只需要关注业务逻辑的实现,而不用操心繁琐的配置。就像使用智能手机一样,你只需要知道如何使用各种 App,而不用了解手机内部复杂的硬件和软件是如何工作的.


希望今天的课程能够帮助你快速入门 Spring Boot!在接下来的课程中,我们将学习更多 Spring Boot 的魔法,敬请期待!

相关文章
|
9月前
|
存储 Oracle Java
java零基础学习者入门课程
本课程为Java零基础入门教程,涵盖环境搭建、变量、运算符、条件循环、数组及面向对象基础,每讲配示例代码与实践建议,助你循序渐进掌握核心知识,轻松迈入Java编程世界。
729 0
|
9月前
|
前端开发 Java 微服务
《深入理解Spring》:Spring、Spring MVC与Spring Boot的深度解析
Spring Framework是Java生态的基石,提供IoC、AOP等核心功能;Spring MVC基于其构建,实现Web层MVC架构;Spring Boot则通过自动配置和内嵌服务器,极大简化了开发与部署。三者层层演进,Spring Boot并非替代,而是对前者的高效封装与增强,适用于微服务与快速开发,而深入理解Spring Framework有助于更好驾驭整体技术栈。
|
9月前
|
JavaScript Java Maven
【SpringBoot(二)】带你认识Yaml配置文件类型、SpringMVC的资源访问路径 和 静态资源配置的原理!
SpringBoot专栏第二章,从本章开始正式进入SpringBoot的WEB阶段开发,本章先带你认识yaml配置文件和资源的路径配置原理,以方便在后面的文章中打下基础
643 4
|
9月前
|
XML Java 应用服务中间件
【SpringBoot(一)】Spring的认知、容器功能讲解与自动装配原理的入门,带你熟悉Springboot中基本的注解使用
SpringBoot专栏开篇第一章,讲述认识SpringBoot、Bean容器功能的讲解、自动装配原理的入门,还有其他常用的Springboot注解!如果想要了解SpringBoot,那么就进来看看吧!
784 2
|
10月前
|
Java
java入门代码示例
本文介绍Java入门基础,包含Hello World、变量类型、条件判断、循环及方法定义等核心语法示例,帮助初学者快速掌握Java编程基本结构与逻辑。
696 0
|
10月前
|
人工智能 Java 机器人
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
Spring AI Alibaba集成Ollama,基于Java构建本地大模型应用,支持流式对话、knife4j接口可视化,实现高隐私、免API密钥的离线AI服务。
7337 2
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
|
10月前
|
Java API 数据库
2025 年最新 Java 实操学习路线,从入门到高级应用详细指南
2025年Java最新实操学习路线,涵盖从环境搭建到微服务、容器化部署的全流程实战内容,助你掌握Java 21核心特性、Spring Boot 3.2开发、云原生与微服务架构,提升企业级项目开发能力,适合从入门到高级应用的学习需求。
2883 0
存储 JSON Java
973 0
|
10月前
|
前端开发 Java 数据库连接
帮助新手快速上手的 JAVA 学习路线最详细版涵盖从入门到进阶的 JAVA 学习路线
本Java学习路线涵盖从基础语法、面向对象、异常处理到高级框架、微服务、JVM调优等内容,适合新手入门到进阶,助力掌握企业级开发技能,快速成为合格Java开发者。
1369 3
|
10月前
|
监控 Java API
2025 年全新出炉的 Java 学习路线:从入门起步到实操精通的详细指南
2025年Java学习路线与实操指南,涵盖Java 21核心特性、虚拟线程、Spring Boot 3、微服务、Spring Security、容器化部署等前沿技术,助你从入门到企业级开发进阶。
1610 0