你敢信?开发一个管理系统我只用了两天

本文分享了一位开发者如何在两天内利用SpringBoot、Thymeleaf等技术快速开发一个包含登录、用户管理、新闻公告、商品模块的管理系统。项目中还涉及Mybatis-Plus、MySQL、PageHelper、Lombok和Redis的使用。通过异常处理、拦截器、过滤器等实现了权限控制和页面优化。作者特别强调了项目优化中利用Redis缓存页面以减轻数据库压力,并提醒注意@Controller和@RestController的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

难度分析

虽然但是听到这个消息的时候,内心还是挺震惊的,毕竟是一个完整的管理系统,功能界面还不能太过简陋。而且从数据库设计到整个系统的交付全由自己一人完成,挑战效果直接拉满!但是冷静下来思考一下,其实也并不是很难,整体的项目流程即为:设计——>文档——>编码——>交付。整体的流程划清之后,就开始一步步从无到有的实现,没想到到最后一步的时候,我竟然才用一天半的时间!!后面又用了半天的时间对整体的项目做了一个优化处理!

项目回顾

最终效果演示:

技术选型:

  • SpringBoot
  • Thymeleaf
  • Mybatis-Plus
  • MySQL
  • PageHelper
  • Lombok
  • Redis(后期页面优化使用)

项目业务流程简介

登录模块、用户模块管理以及对用户的角色分配,新闻公告模块的管理、商品模块(包括对商品、商品分类、订单)的管理、角色模块的管理;对于前端某资源是否有权限操作该资源,使用的是thymeleaf模板语法进行判断鉴别以及文件上传等基本功能。

项目搭建(使用模板引擎)

1. 首先创建Maven项目

引入相应的依赖,构建所需文件目录

2. 编写yaml配置文件

server:
  port: 8080

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/supplier?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
    username: root
    password: root
  # thymeleaf 配置
  thymeleaf:
    # 关闭缓存
    cache: false
    prefix: classpath:/templates/

mybatis-plus:
  mapper-locations: classpath*:/mapper/**/*.xml

3. 项目初期基本搭建

在搭建一个项目的初期,为了让系统显得更规范化,我一般会提前做好基础的配置和声明,一个项目从开始设想时所涉及到技术以及这些技术对应的一些基础配置,都要提前规划清楚(个人习惯)。比如:异常处理、拦截器、过滤器、常量类等等。

①异常处理

@ControllerAdvice
public class ExceptionHandler {

    private final org.slf4j.Logger logger = LoggerFactory.getLogger(this.getClass());

    @org.springframework.web.bind.annotation.ExceptionHandler(Exception.class)
    public ModelAndView exception(HttpServletRequest request, Exception e ) throws Exception {
        logger.error("Request URL:{},Exception:{}",request.getRequestURL(),e);

        if (AnnotationUtils.findAnnotation(e.getClass(), ResponseStatus.class )!= null){
            throw e;
设计一个简单的图书和宿舍管理系统,我们将创建两个类,分别是BookManager(图书管理)和DormitoryManager(宿舍管理),这里仅提供核心功能的伪代码示例。由于篇幅限制,实际完整代码会超过200行,但我会简化关键部分。 ```python class Book: def __init__(self, title, author, id): self.title = title self.author = author self.id = id self.is_checked_out = False def check_out(self): if not self.is_checked_out: self.is_checked_out = True print(f"书 {self.id} 已借出") else: print("该书已借出,无法再次借阅") def return_book(self): if self.is_checked_out: self.is_checked_out = False print(f"书 {self.id} 已归还") else: print("无需归还,该书并未借出") class DormitoryRoom: def __init__(self, room_number, capacity): self.room_number = room_number self.capacity = capacity self.students = [] def add_student(self, student_name): if len(self.students) < self.capacity: self.students.append(student_name) print(f"学生 {student_name} 入住 {self.room_number}") else: print(f"{self.room_number} 宿舍已满,无法入住") def remove_student(self, student_name): if student_name in self.students: self.students.remove(student_name) print(f"学生 {student_name} 离开 {self.room_number}") else: print(f"{student_name} 不在 {self.room_number} 宿舍列表中") # 创建实例并操作 book_manager = BookManager() book_1 = Book("Python基础", "张三", 1) dormitory_manager = DormitoryManager(101, 4) student_1 = "李四" student_2 = "王五" book_manager.add_book(book_1) book_manager.check_out(book_1.id) dormitory_manager.add_student(student_1) dormitory_manager.add_student(student_2) dormitory_manager.remove_student(student_1) # ... (其他相关操作省略) ``` 这个例子展示了基本的图书借还管理和宿舍入住退宿的功能。完整的系统会包括数据库操作、用户界面交互等更多内容。以下是几个相关问题: 1. 如何在系统中添加书籍借阅历史记录? 2. 对于宿舍系统,如何处理宿舍维修或调整容量的情况? 3. 如何改进图书管理系统,支持查询、搜索功能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值