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

Spring Boot 项目实训 - 图书信息网站

文章目录

  • 1. 实训目的
  • 2. 系统设计
  • 3. 运行演示
  • 4. 实现步骤
    • 4.1 创建数据库与表
    • 4.2 创建Spring Boot项目
    • 4.3 创建实体类
    • 4.4 创建映射器接口
    • 4.5 编写应用配置文件
    • 4.6 测试映射器接口
    • 4.7 创建服务类
    • 4.8 创建控制器
    • 4.9 准备静态资源
    • 4.10 创建模板页面
    • 4.11 测试整个项目
  • 5. 实训总结

1. 实训目的

  • 通过本次 Spring Boot 项目实训,旨在帮助学生掌握基于 Spring Boot 框架的图书信息网站开发全流程。从项目搭建、数据库设计、前后端交互到功能实现,学生将深入理解 Spring Boot 的高效开发模式,提升解决实际问题的能力,为未来从事 Java Web 开发工作奠定坚实基础。

2. 系统设计

  • 下图展示了一个图书信息网站系统设计的流程图,主要包括用户登录和注册两个功能。用户登录成功后可查看图书页面,加入购物车,显示购物车,或注销返回登录页面。登录失败则提示错误信息。注册成功后跳转至登录页面,失败则返回注册页面。此设计确保用户流畅操作体验,提高系统可用性和安全性。
    在这里插入图片描述

3. 运行演示

  • 演示图书信息网站操作过程
    在这里插入图片描述

4. 实现步骤

4.1 创建数据库与表

  • 本节创建了一个图书信息网站系统的数据库设计,包括用户和图书两个主要表。首先创建了名为book_test的数据库,并在其中创建了用户表t_user和图书表t_book。用户表包含用户名和密码字段,图书表包含名称、作者、出版社、价格等字段。通过SQL语句添加了用户和图书记录,并展示了如何导出数据库结构和数据的SQL脚本。整个流程涵盖了数据库的创建、数据插入和导出,为图书信息网站系统的开发提供了基础数据支持。
    在这里插入图片描述

4.2 创建Spring Boot项目

  • 首先设置项目基本信息,包括项目名称为SpringBootBook,选择Spring Boot 3.4.6版本,并添加五个依赖。然后生成项目骨架,添加Druid数据库连接池依赖。接着,添加数据库相关依赖,包括DruidMyBatis。最后,刷新项目依赖以确保所有依赖正确下载并可用。
    在这里插入图片描述

4.3 创建实体类

  • 该图展示了在Spring Boot项目中创建实体类的步骤。首先,在net.huawei.boot包中创建了bean子包,并在其中创建了UserBook两个实体类。User类包含id、usernamepassword属性,并实现了getter和setter方法。Book类包含id、name、author、press、price、imageaddTime属性,同样实现了相应的访问器和修改器方法,并重写了toString方法以返回对象信息字符串。这些实体类为项目提供了数据模型基础。
    在这里插入图片描述

4.4 创建映射器接口

  • 首先,在net.huawei.boot包中创建mapper子包,并在其中创建UserMapperBookMapper接口。UserMapper接口定义了用户查询和插入方法,BookMapper接口定义了图书查询方法。这些接口用于数据库操作,与实体类交互,实现数据访问层的功能。
    在这里插入图片描述

4.5 编写应用配置文件

  • 首先,将application.properties文件重命名为application.yaml。然后配置数据源属性,包括数据库驱动、URL、用户名、密码等。接着配置MyBatis属性,包括驼峰命名法和数据库连接池设置。这些配置确保应用程序能够正确连接数据库并进行数据操作。
    在这里插入图片描述

4.6 测试映射器接口

  • 下图给出用户和书籍映射器接口的测试步骤。创建测试类,注入映射器,编写测试数据和方法,执行增删改查操作,验证接口功能。
    在这里插入图片描述

4.7 创建服务类

  • 首先,在net.huawei.boot包下创建service子包,然后在该子包中创建UserServiceBookService类。UserService类通过@Autowired注解注入UserMapper,提供用户查询和插入功能。BookService类通过@Autowired注解注入BookMapper,提供图书查询功能。
    在这里插入图片描述

4.8 创建控制器

  • 首先,在net.huawei.boot.controller包下创建UserControllerBookController类。UserController类通过@Autowired注解注入UserService,提供用户登录和注册功能。BookController类通过@Autowired注解注入BookService,提供图书查询和添加购物车功能。每个控制器类都定义了相应的请求映射方法,如@GetMapping@PostMapping,用于处理HTTP请求。
    在这里插入图片描述

4.9 准备静态资源

  • 首先,在static目录下创建imagescss目录,并将图片资源拷贝到images目录。接着,在css目录下创建多个CSS文件,分别为首页、登录页、注册页、显示图书页和购物车页定义样式。这些样式文件通过设置背景图、字体、布局和颜色等属性,提升页面视觉效果和用户体验。
    在这里插入图片描述

4.10 创建模板页面

  • 下图展示了在Spring Boot项目中使用Thymeleaf模板引擎创建多个HTML模板页面的过程。包括首页、登录页面、注册页面、显示图书页面和购物车页面。每个页面通过链接相应的CSS文件来设置样式,并使用Thymeleaf的模板语法来动态渲染数据。例如,使用th:hrefth:text来绑定URL和文本内容,使用th:each来遍历列表数据。这些模板页面提供了用户交互界面,支持用户登录、注册、浏览图书和查看购物车等功能。
    在这里插入图片描述

4.11 测试整个项目

  • 下图展示了一个图书网站的用户交互流程,包括首页展示、用户登录、注册、注销、图书展示和购物车页面。用户可以通过点击登录或注册链接进行身份验证,成功后可查看图书信息和购物车内容。网站使用Thymeleaf模板引擎动态生成页面内容,提供友好的用户界面和流畅的用户体验。
    在这里插入图片描述

5. 实训总结

  • 通过本次实训,我们成功实现了一个基于Spring Boot的图书管理系统。项目涵盖了数据库设计、实体类创建、映射器接口定义、服务类编写、控制器实现以及静态资源和模板页面的准备。我们使用了Thymeleaf模板引擎来动态生成页面内容,并通过MyBatis与数据库进行交互。项目测试包括用户登录、注册、图书展示和购物车功能,确保了各个模块的正确性和稳定性。整个过程加深了对Spring Boot框架的理解,掌握了前后端交互的实现方式,为后续开发提供了宝贵的经验。
http://www.xdnf.cn/news/14658.html

相关文章:

  • Windows11系统上安装WM虚拟机及Ubuntu 22.04系统
  • ESP32 008 MicroPython Web框架库 Microdot 实现的网络文件服务器
  • 开源 java android app 开发(十三)绘图定义控件、摇杆控件的制作
  • 【策划所需编程知识】
  • Tomcat Maven 插件
  • 人工智能-基础篇-3-什么是深度学习?(DL,卷积神经网络CNN,循环神经网络RNN,Transformer等)
  • flink同步kafka到paimon,doris加速查询
  • 目标跟踪存在问题以及解决方案
  • 电脑远程控制另一台电脑无法连接怎么办
  • Java+Python智能化网盘【Day8-2】
  • MySQL基础维护实操手册:从启停到备份恢复
  • 【RAG面试题】如何获取准确的语义表示
  • 华为云Flexus+DeepSeek征文|基于Dify+ModelArts开发AI智能会议助手
  • 氨基酸的结构和作用
  • 小米路由器 AX3000T 解锁 SSH
  • 【机器学习与数据挖掘实战 | 医疗】案例18:基于Apriori算法的中医证型关联规则分析
  • linux网络编程socket套接字
  • VUE3入门很简单(3)--- watch
  • 2.1、STM32 CAN外设简介
  • python pyecharts 数据分析及可视化
  • 环境太多?不好管理怎么办?TakMll 工具帮你快速切换和管理多语言、多版本情况下的版本切换。
  • Axure版AntDesign 元件库-免费版
  • 一分钟了解Transformer
  • 云蝠智能VoiceAgent——大模型时代语音交互新纪元
  • 基于STM32的智能书房系统的设计
  • 鸿蒙实时音视频流处理框架开发实战——基于HarmonyOS 4.0与分布式软总线的低延时高可靠架构
  • 【机器学习第二期(Python)】优化梯度提升决策树 XGBoost
  • 【论文解读】Decision Transformer:用序列建模重新定义强化学习
  • 疏锦行Python打卡 DAY 41 简单CNN
  • Vue SPA 路由跳转无法回到顶部问题排查与解决