Java企业级开发学习笔记(4.1)Spring Boot入门程序

news/2025/3/18 1:57:35/

该文章主要为完成实训任务,详细实现过程及结果见【http://t.csdn.cn/Qh554】

文章目录

  • 一、使用Maven方式构建Spring Boot项目
    • 1.1 创建Maven项目
    • 1.2 添加依赖
    • 1.3 创建入口类
    • 1.4 创建控制器
    • 1.5 运行入口类
    • 1.6 访问Web页面
    • 1.7 修改访问映射路径
    • 1.8 定制启动标语
      • 1.8.1 创建标语文件
      • 1.8.2 生成标语字符串
      • 1.8.3 编辑标语文件
      • 1.8.4 查看启动标语
      • 1.8.5 关闭启动标语
  • 二、 使用Spring Initializr方式构建Spring Boot项目
    • 2.1 创建Spring Boot项目
    • 2.2 创建控制器
    • 2.3 运行入口类
    • 2.4 访问Web页面
    • 2.5 修改访问映射路径
    • 2.6 利用控制器返回页面
      • 2.6.1 添加thymeleaf依赖
      • 2.6.2 准备图片作为静态资源
      • 2.6.3 创建样式表作为静态资源
      • 2.6.4 创建首页
      • 2.6.5 修改控制器
      • 2.6.6 启动应用,访问首页
    • 2.7 一个控制器方法配多个影射路径
      • 2.7.1 给hell()方法设置三个映射路径
      • 2.7.2 启动应用,测试效果
  • 三、课后作业
    • 任务1、创建Spring Boot项目输出学生信息
    • 任务2、让HelloWorld02实现页面跳转功能


一、使用Maven方式构建Spring Boot项目

1.1 创建Maven项目

在这里插入图片描述
在这里插入图片描述

1.2 添加依赖

  • pom.xml文件里添加parentweb的起步器依赖
    在这里插入图片描述
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>cn.kox.boot</groupId><artifactId>HelloWorld01</artifactId><version>1.0-SNAPSHOT</version><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.11</version></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties></project>

1.3 创建入口类

  • 创建cn.kox.boot包,在包里创建启动类HelloWorld01Application
package cn.kox.boot;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;/*** @ClassName: HelloWorld01Application* @Author: Kox* @Data: 2023/5/24* @Sketch: 项目入口类*/
@SpringBootApplication
public class HelloWorld01Application {public static void main(String[] args) {// 参数1:入口类示例;参数2:命令行参数SpringApplication.run(HelloWorld01Application.class, args);}
}

1.4 创建控制器

  • cn.kox.boot包里创建controller子包,然后在子包里创建控制器HelloController
    在这里插入图片描述
package cn.kox.boot.controller;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;/*** @ClassName: HelloController* @Author: Kox* @Data: 2023/5/24* @Sketch:*/
@RestController
public class HelloController {@GetMapping("/hello")public String hello() {return "<h1 style='color: red; text-align: center'>Hello Spring Boot World~</h1>";}
}

1.5 运行入口类

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

1.6 访问Web页面

  • 在浏览器里访问http://localhost:8080/hello
    在这里插入图片描述

1.7 修改访问映射路径

  • 修改控制器HelloController
    在这里插入图片描述
  • 在浏览器里访问http://localhost:8080/kox/hello
    在这里插入图片描述

1.8 定制启动标语

1.8.1 创建标语文件

  • resources目录下创建banner.txt文件
    在这里插入图片描述

1.8.2 生成标语字符串

  • 通过http://patorjk.com/software/taag网站生成标语字符串
    在这里插入图片描述

1.8.3 编辑标语文件

  • 将网站生成的标语字符串复制到banner.txt文件里
    在这里插入图片描述

1.8.4 查看启动标语

  • 启动应用程序,查看启动标语
    在这里插入图片描述

1.8.5 关闭启动标语

  • 修改入口程序代码
package cn.kox.boot;import org.springframework.boot.Banner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;/*** @ClassName: HelloWorld01Application* @Author: Kox* @Data: 2023/5/24* @Sketch: 项目入口类*/
@SpringBootApplication
public class HelloWorld01Application {public static void main(String[] args) {// 创建Spring应用SpringApplication app = new SpringApplication(HelloWorld01Application.class);// 设置标语模式 - 关闭app.setBannerMode(Banner.Mode.OFF);// 运行Spring应用app.run(args);}
}

在这里插入图片描述

二、 使用Spring Initializr方式构建Spring Boot项目

2.1 创建Spring Boot项目

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 查看自动生成的pom.xm文件
<?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>3.1.0</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>cn.kox.boot</groupId><artifactId>helloworld02</artifactId><version>0.0.1-SNAPSHOT</version><name>HelloWorld02</name><description>HelloWorld02</description><properties><java.version>17</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>

2.2 创建控制器

  • cn.kox.boot包里创建controller子包,然后在子包里创建HelloController
    在这里插入图片描述
package cn.kox.boot.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;/*** @ClassName: HelloController* @Author: Kox* @Data: 2023/5/24* @Sketch: Hello控制器*/
@Controller
public class HelloController {@ResponseBody@GetMapping("/hello")public String hello() {return "<h1 style='color: red; text-align: center'>你好,Spring Boot世界~</h1>";}
}

2.3 运行入口类

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

2.4 访问Web页面

  • 在浏览器里访问http://localhost:8080/hello
    在这里插入图片描述

2.5 修改访问映射路径

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

  • 在浏览器里访问http://localhost:8080/kox/hello
    在这里插入图片描述

2.6 利用控制器返回页面

2.6.1 添加thymeleaf依赖

  • pom.xml文件里添加thymeleaf依赖
    在这里插入图片描述
<dependency>                                                   <groupId>org.springframework.boot</groupId>                <artifactId>spring-boot-starter-thymeleaf</artifactId>     
</dependency>                                                  

2.6.2 准备图片作为静态资源

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

2.6.3 创建样式表作为静态资源

  • static目录里创建css目录,在css目录里创建index.css样式表文件
    在这里插入图片描述
body{background-color: red;text-align: center;
}

2.6.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/img.png" width="300" height="250">
</body>
</html>

2.6.5 修改控制器

  • 添加映射方法index(),负责返回首页
    在这里插入图片描述
package cn.kox.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;/*** @ClassName: HelloController* @Author: Kox* @Data: 2023/5/24* @Sketch: Hello控制器*/
@Controller
@RequestMapping("/kox")
public class HelloController {@ResponseBody@GetMapping("/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"; // 返回l逻辑视图名}
t
}

2.6.6 启动应用,访问首页

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

2.7 一个控制器方法配多个影射路径

2.7.1 给hell()方法设置三个映射路径

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

2.7.2 启动应用,测试效果

  • http://localhost:8080/kox/hello
    在这里插入图片描述

  • http://localhost:8080/kox/hi
    在这里插入图片描述

  • http://localhost:8080/kox/hey
    在这里插入图片描述

三、课后作业

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

在这里插入图片描述

  • 运行入口类,在浏览器访问http://localhost:8080/kox/student
    在这里插入图片描述

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

  • 创建登录页面login.html
    在这里插入图片描述
<!DOCTYPE html>
<html>
<head><title>User Login</title><style>body {font-family: Arial, sans-serif;}.container {width: 300px;margin: 0 auto;padding: 20px;border: 1px solid #ccc;border-radius: 5px;}.container h2 {text-align: center;}.container label {display: block;margin-bottom: 5px;}.container input[type="text"],.container input[type="password"] {width: 100%;padding: 8px;border: 1px solid #ccc;border-radius: 3px;margin-bottom: 10px;}.container input[type="submit"] {width: 100%;background-color: #4CAF50;color: white;padding: 10px;border: none;border-radius: 3px;cursor: pointer;}.container input[type="submit"]:hover {background-color: #45a049;}</style>
</head>
<body>
<div class="container"><h2>User Login</h2><form><label for="username">Username:</label><input type="text" id="username" name="username" required><label for="password">Password:</label><input type="password" id="password" name="password" required><input type="submit" value="Login"></form>
</div>
</body>
</html>
  • 在控制器里编写负责页面跳转的映射方法
    在这里插入图片描述
  • 启动应用,查看效果

在这里插入图片描述
在这里插入图片描述


http://www.ppmy.cn/news/76538.html

相关文章

【系分论文】论软件开发模型及应用

目录 论题论题介绍论文要点理论素材准备范文摘要正文 论文补充知识 论题 论软件开发模型及应用 论题介绍 软件开发模型&#xff08; Software Development Model&#xff09;是指软件开发全部过程、活动和任务的结构框架。软件开发过程包括需求、设计、编码和测试等阶段&…

标准差、方差

目录 1、标准差 2、方差 3、标准差和方差的区别 1、标准差 标准差&#xff08;Standard Deviation&#xff0c;又常称均方差&#xff09;是一个数字&#xff0c;描述值的离散程度 标准差是一种衡量数据离散程度的统计量&#xff0c;它衡量的是数据集各个数据点相对于平均值…

C++模板使用

1.泛型函数 void Add(int& e1, int& e2) {cout << e1 e2 << endl; } void Add(double& e1, double& e2) {cout << e1 e2 << endl; } void Add(char& e1, char& e2) {cout << e1 e2 << endl; } int main() {in…

「API 接口获取方法」

在创建一个应用程序的过程中&#xff0c;获取数据是非常关键的一步。而通过API接口获取数据通常是最好的方式之一。那么&#xff0c;如何通过关键字获取API接口呢&#xff1f;以下是一些步骤&#xff1a; 1.确定你需要获取的数据类型 首先&#xff0c;你需要确定你需要获取的…

太阳升起和落下(长文警告)

今天分享一个太阳升起落下的动画场景。 有朋友问我为什么只发代码不做说明&#xff0c;今天我们尝试下对代码进行注解说明一下。 首先这个场景大致的可拆分为4个部分&#xff1a;太阳/月亮&#xff0c;右下角的按钮&#xff0c;天上的云和最显眼的建筑。 我们先做一个按钮&am…

QT-有哪些实用的开源项目?

以下是一些使用Qt开源框架的项目&#xff1a; VirtualBox&#xff08;虚拟化软件&#xff09;&#xff1a;利用Qt框架实现的跨平台虚拟化软件&#xff0c;支持多种操作系统的虚拟机创建、运行和管理。 VLC Media Player&#xff08;媒体播放器&#xff09;&#xff1a;基于Qt框…

【C++模板】

目录 一、什么是泛型编程二、函数模板2.1函数模板概念2.2函数模板格式2.3函数模板的原理2.4函数模板的实例化 三、类模板3.1类模板的定义格式3.2类模板的成员函数的声明与定义分开的写法 一、什么是泛型编程 问题&#xff1a;如何实现一个加法函数呢&#xff1f;假设加法函数的…

如何解决 Java 中的 IndexOutOfBoundsException 异常

当我们在 Java 中使用 List 的时候&#xff0c;有时候会出现向 List 中不存在的位置设置新元素的情况&#xff0c;从而导致 IndexOutOfBoundsException 异常。本文将会介绍这个问题的产生原因以及解决方案。 问题 当使用以下代码初始化一个大小为 10 的 ArrayList&#xff0c…