Spring Initializr方式构建Spring Boot项目

news/2024/11/19 5:43:01/

文章目录

  • 一,创建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.ppmy.cn/news/89211.html

相关文章

Java 电子招标采购系统源码:营造全面规范安全的电子招投标环境,促进招投标市场健康可持续发展

营造全面规范安全的电子招投标环境&#xff0c;促进招投标市场健康可持续发展 传统采购模式面临的挑战 一、立项管理 1、招标立项申请 功能点&#xff1a;招标类项目立项申请入口&#xff0c;用户可以保存为草稿&#xff0c;提交。 2、非招标立项申请 功能点&#xff1a;非招标…

看懂二维码识别OCR:从算法到API 接入代码

引言 二维码识别OCR&#xff08;Optical Character Recognition&#xff09;是结合了图像处理和OCR技术&#xff0c;以识别和提取二维码中的信息的技术&#xff0c;二维码识别OCR 可以实现对图像中的二维码进行自动检测和解码&#xff0c;并将其内容提取为可编辑的文本&#x…

【STL模版库】list介绍及使用 {inserterase的迭代器失效问题,vector_sort VS list_sort,list的其他接口函数}

一、list的介绍 list是可以在常数时间内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代。list的底层是双向带头循环链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向其前一个元素和后一个元…

Day49【动态规划】121.买卖股票的最佳时机、122.买卖股票的最佳时机II

121.买卖股票的最佳时机 力扣题目链接/文章讲解 视频讲解 动态规划五部曲&#xff01; 1、确定 dp 数组下标及值的含义 先想想本题 dp 应该怎么定义&#xff0c;别忘了之前说的&#xff0c;dp 数组的下标能够表示状态 在股票问题中&#xff0c;某个状态需要描述在某天&…

k8s 弹性伸缩的使用

1.手动扩缩容 编辑一个yaml文件 vi deployment-nginx.yaml apiVersion: apps/v1 kind: Deployment metadata:lables:app: nginxname: nginxnamespace: default spec:replicas: 3selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- name:…

opencv_c++学习(十九)

一、图像间的距离变换 三种常用的距离计算方法&#xff1a; 欧式距离这里就不在解释。 街区距离&#xff1a;顾名思义&#xff0c;就类似于城市距离一样&#xff0c;并不是通过两点间的距离&#xff0c;而是我们从一个地点到达另一个地点的路程(横纵坐标差值之和)。 棋盘距离…

torch.distributed.launch多卡多机

torch.distributed.launch命令介绍 我们在训练分布式时候&#xff0c;会使用到 torch.distributed.launch 可以通过命令&#xff0c;来打印该模块提供的可选参数 python -m torch.distributed.launch --help usage: launch.py [-h] [--nnodes NNODES] [--node_rank NODE_RANK]…

SpringMVC详情

JavaEE体系结构包括四层&#xff0c;从上到下分别是应用层、Web层、业务层、持久层。Struts和SpringMVC是Web层的框架&#xff0c;Spring是业务层的框架&#xff0c;Hibernate和MyBatis是持久层的框架。 为什么要使用SpringMVC&#xff1f; 很多应用程序的问题在于处理业务数…