Spring Initializr方式构建Spring Boot项目

news2025/2/25 5:16:03

文章目录

  • 一,创建Spring Boot项目
  • 二,创建控制器
  • 三,运行入口类
  • 四,访问Web页面
  • 五,修改访问映射路径
  • 六,利用控制器返回页面
    • 1、添加thymeleaf依赖
    • 2、准备图片作为静态资源
    • 3、创建样式表作为静态资源
    • 4、创建首页
    • 5、修改控制器
    • 6、启动应用,访问首页
  • 七,一个控制器方法配多个映射路径
    • 1、给hello()方法设置三个映射路径
    • 2、启动应用,测试效果
  • 八,课后练习
    • 任务1、创建Spring Boot项目输出学生信息
    • 任务2、让HelloWorld02实现页面跳转功能


一,创建Spring Boot项目

创建项目,选择项目类型 - Spring Initializr
在这里插入图片描述

单击【Next】按钮
在这里插入图片描述
添加Spring Web依赖(先选2.7.12,后续修改pom.xml文件为2.7.11)
在这里插入图片描述
单击【Create】按钮
在这里插入图片描述
查看自动生成的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>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.11</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>net.army.boot</groupId>
    <artifactId>helloworld02</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>HelloWorld02</name>
    <description>HelloWorld02</description>
    <properties>
        <java.version>11</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

修改后并刷新依赖后,还是有报红,没有解决选择忽略
在这里插入图片描述

二,创建控制器

在net.army.boot包里创建controller子包,然后在子包里创建HelloController
在这里插入图片描述
添加如下代码:

package net.army.boot.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * 作者:梁辰兴
 * 日期:2023/5/23
 * 功能:Hello控制器
 */
@Controller
public class HelloController {
    @ResponseBody
    @GetMapping("/hello")
    public String hello() {
        return "<h1 style='color: red; text-align: center'>你好,Spring Boot世界~</h1>";
    }
}

三,运行入口类

运行入口类 - HelloWorld02Application
在这里插入图片描述

四,访问Web页面

在浏览器里访问:http://localhost:8080/hello

在这里插入图片描述

五,修改访问映射路径

修改控制器HelloController
在这里插入图片描述

修改代码如下:

package net.army.boot.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * 作者:梁辰兴
 * 日期:2023/5/23
 * 功能:Hello控制器
 */
@Controller
@RequestMapping("/lzy") // 主映射路径
public class HelloController {
    @ResponseBody
    @GetMapping("/hello") // 子映射路径,拼接而成 "/lzy/hello"
    public String hello() {
        return "<h1 style='color: red; text-align: center'>你好,Spring Boot世界~</h1>";
    }
}

重启入口类,在浏览器里访问:http://localhost:8080/hello
在这里插入图片描述
在浏览器里访问:http://localhost:8080/lzy/hello
在这里插入图片描述

总结:使用Spring Boot框架实现Web功能,比在Spring框架里使用Spring MVC实现Web功能简洁很多,不需要Spring配置文件、Spring MVC配置文件,也不需要配置web.xml文件,只要添加了Web依赖,直接就可以使用控制器来进行相应的处理,比如返回字符串数据。

六,利用控制器返回页面

1、添加thymeleaf依赖

在pom.xml文件里添加thymeleaf依赖
在这里插入图片描述
添加内容如下:

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

2、准备图片作为静态资源

在static目录里创建images目录,然后在images目录里放一张图片 - bear.jpg
在这里插入图片描述

3、创建样式表作为静态资源

在static目录里创建css目录,在css目录里创建index.css样式表文件
在这里插入图片描述

添加如下代码:

body{
    background-color: pink;
    text-align: center;
}

4、创建首页

在templates目录里创建index.html页面
在这里插入图片描述

添加如下代码:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>首页</title>
    <link href="/css/index.css" rel="stylesheet", type="text/css">
</head>
<body>
<h1>Welcome to Spring Boot World~</h1>
<h3 th:text="${#dates.format(today,'yyyy年MM月dd日 HH:mm:ss')}">2023-05-10</h3>
<img src = "/images/bear.jpg" width="300" height="250">
</body>
</html>

注意:today变量是由控制器通过Model对象的属性传到前端的。

5、修改控制器

添加映射方法index(),负责返回首页
在这里插入图片描述
修改代码如下:

package net.army.boot.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.Calendar;

/**
 * 作者:梁辰兴
 * 日期:2023/5/23
 * 功能:Hello控制器
 */
@Controller
@RequestMapping("/lzy") // 主映射路径
public class HelloController {
    @ResponseBody
    @GetMapping("/hello") // 子映射路径,拼接而成 "/lzy/hello"
    public String hello() {
        return "<h1 style='color: red; text-align: center'>你好,Spring Boot世界~</h1>";
    }

    @GetMapping("/index")
    public String index(Model model) {
        model.addAttribute("today", Calendar.getInstance());
        return "index"; // 返回逻辑视图名
    }
}

6、启动应用,访问首页

重启程序,访问:http://localhost:8080/lzy/index
在这里插入图片描述

七,一个控制器方法配多个映射路径

1、给hello()方法设置三个映射路径

@GetMapping({“/hello”, “/hi”, “/hey”})
在这里插入图片描述

2、启动应用,测试效果

访问:http://localhost:8080/lzy/hello
在这里插入图片描述

访问:http://localhost:8080/lzy/hi
在这里插入图片描述

访问:http://localhost:8080/lzy/hey
在这里插入图片描述

八,课后练习

任务1、创建Spring Boot项目输出学生信息

创建Spring Boot项目StudentInfo

创建控制器StudentInfoController

运行入口类,在浏览器访问http://localhost:8080/student

任务2、让HelloWorld02实现页面跳转功能

创建登录页面login.html

在首页index.html添加跳转到登录页面的超链接

在控制器里编写负责页面跳转的映射方法

启动应用,查看效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/558287.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

最强Mock 工具,没人反对吧?

背景 在开发过程中&#xff0c;由于后端与前端并行开发&#xff0c;或者前端需要等待后台开发&#xff0c;难以保证对接效率&#xff0c;同时即使用开发好的 API 对接&#xff0c;也有可能一个 API 不通就阻塞了整个软件的对接工作。同时对软件的敏感度也很高&#xff0c;一不…

微软推出 Hierarchical Transformer 实现更高准确率的语音评测

对于语言学习者来说&#xff0c;练习发音并获得及时准确的反馈&#xff0c;是提高口语水平的重要环节。多年来&#xff0c;微软一直深耕基于 Azure 认知服务的语音功能&#xff0c;不断优化语音评测[1]功能的底层技术&#xff0c;从准确率、流畅度、完整性和语音语调等方面&…

Cadence+SPB16.2入门教程(下)

弹出Create Net Class对话框,如图4.21所示。输入名称DDR_DATA,点击OK关闭对话框。 建立DDR_ADDR的过程也一样,同时选中网络XM1ADDR0-XM1ADDR15,XM1CASN、XM1CKE0、XM1CSN0、XM1RASN、XM1WEN后右键Create->Net Class。其它就不重复了。 然后将上一步建立的两个电气规则D…

chatgpt赋能Python-python_ijust

简介 Python ijust&#xff0c;是一款非常优秀的Python代码编辑器&#xff0c;它支持多种语言编程、自动补全、代码高亮、代码片段库和多种主题等众多特性。Python ijust 可以在Windows、macOS、Linux上运行&#xff0c;而且界面简洁、易用。 主要功能 代码高亮&#xff1a;P…

【MySQL新手到通关】第三章 基本的SELECT语句

文章目录 1. SQL 概述1.1 SQL 背景知识 1.2 SQL 分类2. SQL语言的规则与规范2.1 基本规则2.2 注释2.3 数据导入指令 3. 基本的SELECT语句3.1 SELECT ... FROM3.2 列的别名3.3 去除重复行3.4 空值参与运算3.5 着重号 4. 显示表结构5. 基本的过滤数据 1. SQL 概述 1.1 SQL 背景知…

计讯物联打造医疗设备远程质检“新神器”TG453,引领医疗设备数字化浪潮

方案背景 基于物联网的普及与推广&#xff0c;物联网技术在医疗行业得到更广泛的应用。在医院的日常诊疗工作开展中&#xff0c;CT、呼吸机、监护仪、注射泵、核磁共振、DR系统、工频X光机等医疗设备稳定无故障地运行对于医院、患者而言具有重要影响。医疗设备在长期使用过程中…

讨论:为什么越来越多的企业开始搭建属于自己的知识库?

随着信息技术的发展&#xff0c;人们可以在互联网上随时随地获取各种信息。企业作为一个独立的组织体系&#xff0c;其运营和管理需要依赖于大量的知识和信息。因此&#xff0c;建立一个属于自己的知识库&#xff0c;可以帮助企业更好地管理和共享知识&#xff0c;提高员工的工…

VS Code 大量 Java 新功能来袭!

大家好&#xff0c;欢迎来到 Visual Studio Code Java 的 4 月更新&#xff01;在此博客中&#xff0c;我们将带来大量基础用户体验更新&#xff0c;其中包括调试功能改进、Maven 插件中的配置文件支持、全新 Java Project Explorer 的用户界面和 Spring Boot 项目的可视化增强…

2.shell脚本基本操作及案例

本文介绍了shell脚本的基本建立过程&#xff0c;并举了4个案例。关键是例3的shell脚本检测局域网ip地址机器是否宕机&#xff0c;例4的shell脚本获取本机ip地址 一、第一个shell脚本 1、定义解释器 #&#xff01;/bin/bash echo "hello world" #! 是一个约定的标记…

[玩游戏想道理]底层能力提升

继续金铲铲中想道理&#xff1b; overview 很多熟悉的情况是调用记忆即可&#xff0c;但是新的情况则需要使用底层能力&#xff0c;包括不限于做事的方式倾向&#xff0c;对事物的深刻理解等等&#xff1b; 既有事情更多在调用和打磨记忆&#xff0c;新的事物更多调用和打磨底…

『C++』C++的IO流详解

「前言」文章是关于C的IO流 「归属专栏」C嘎嘎 「笔者」枫叶先生(fy) 「座右铭」前行路上修真我 「枫叶先生有点文青病」 「每篇一句」 就像山看水&#xff0c;水流山还在&#xff0c; 喜欢之人&#xff0c;只管远去&#xff0c; 我只管喜欢。 ——烽火戏诸侯《剑来》 目录 一…

留学热议话题:在美国可以用ChatGPT写作业吗?

今年&#xff0c;学术界最热议的话题要数人工智能技术非大语言数据模型ChatGPT了。随着ChatGPT等智能写作助手在学生群体中的应用和日益普及&#xff0c;极大程度地影响了学生们的传统学习方法。然而&#xff0c;在享受技术革新带来便利的同时&#xff0c;不恰当的运用这些软件…

rails routes的使用

Rails routes 是用于确定应该将请求发送到哪个控制器和操作的一种机制。在 Rails 应用程序中&#xff0c;可以通过定义路由来映射 URL 到控制器操作。可以使用 rails routes 命令查看当前应用程序中定义的所有路由。 以下是一些常见的用法&#xff1a; 查看所有路由&#xff…

从三个层次来介绍用于机器人主控板的设计思想

在很多人眼里&#xff0c;主控板有着密密麻麻的芯片引脚与PCB走线&#xff0c;看起来非常难的样子。其实恰恰相反&#xff0c;主控板的设计有着其特有的设计规律&#xff0c;其实说白了就像搭积木&#xff0c;在满足单片机最小系统的条件下&#xff0c;需要哪些功能&#xff0c…

chatgpt赋能Python-python_head_first

Python Head First&#xff1a;学习Python编程的必备指南 如果你是一位编程新手&#xff0c;尤其是对Python感兴趣&#xff0c;那么Head First Python是你需要阅读的书籍之一。这本书通过富有趣味性的教学方法&#xff0c;让你轻松理解Python编程语言。 了解Python编程 Pyth…

物联网通信协议-MQTT及使用python实现

MQTT概念及其原理 简述 MQTT(Message Queuing Telemetry Transport&#xff0c;消息队列遥测传输协议&#xff09;&#xff0c;是一种基于发布/订阅&#xff08;publish/subscribe)模式的"轻量 级"通讯协议&#xff0c;该协议构建于TCP/IP协议上&#xff0c;由IBM在…

亚马逊云科技构建Serverless数据分析战略

亚马逊云科技Amazon EMR是行业领先的大数据分析服务&#xff0c;适用于使用开源框架进行PB级数据处理、交互分析和机器学习&#xff0c;它可以更快地运行大数据应用并且成本不到本地解决方案成本的一半。通过性能优化且兼容开源API的Spark、Hive和Presto版本&#xff0c;洞察时…

增加或修改现有apk的功能(apk功能扩展)

现有apk不能满足需要&#xff0c;又没有源代码&#xff0c;想要扩展其功能&#xff0c;是可以实现的。 本人根据多年修改apk的经验&#xff0c;总结如下&#xff1a; 一、扩展apk功能的原理及步骤 1、必要条件&#xff1a; 该apk能够被反编译为smali代码&#xff0c;也能够…

【2023五一杯数学建模】B题 快递需求分析 31页论文

【2023五一杯数学建模】B题 快递需求分析 31页论文及代码 1 题目 请依据以下提供的附件数据和背景内容&#xff0c;建立数学模型&#xff0c;完成接下来的问题&#xff1a;问题背景是&#xff0c;网络购物作为一种重要的消费方式&#xff0c;带动着快递服务需求飞速增长&…

Spring源码阅读:Spring事务执行流程

一、概述 Spring事务执行的流程如下图&#xff0c;我们将按照下面的执行顺序&#xff0c;介绍Spring的事务。 二、代码分析 &#xff08;一&#xff09;核心流程 TransactionAspectSupport#invokeWithinTransaction 事务处理核心伪代码 // 通过事务调用 protected Object i…