基于 SpringBoot+BootStrap 的图书管理系统
这是老师在校的一个课设要求,我顺手给 share 一下
项目介绍
- NUCSELL 是一个图书网站
- 用户可以登录,注册,查看分类书籍并查询
- 管理员登录后可以在后台对图书进行增删改查
- 管理员登录后可以在后台对图书类型进行增删改查
- 管理员登录后可以在后台对用户进行增删改查
- 希望可以对此项目进行更多的优化和扩展
本项目基于IDEA进行开发,使用到了Swagger接口文档进行开发,使用 Github 进行协同开发,使用SpringBoot+BootStrapUI进行开发,数据库使用云端数据库进行搭建并开发,使用nginx进行反向代理(本项目域名为 www.nucsell.com:8080),本项目曾使用docker部署到阿里云服务器上,基本使用Restful风格的接口,符合阿里巴巴开发规范。
系统架构解读
整个系统可以分为两部分:后台管理系统,前台展示系统。
后台管理:
① 对图书的管理:包括图书封面,图书类型,图书价格等信息的管理
② 对图书类型的管理:对多种类型的图书分类进行管理
③ 对用户的管理:包括用户的类型,用户的姓名,生日等进行管理。
后台系统采用SpringBoot+BootStrap进行开发,后台页面使用thymeleaf进行展示。
预览图:
前台展示:
前台门户面向的是普通用户,包含与用户交互的一切功能。例如:注册,登录,查看书籍,查询书籍等。
前台使用了BootstrapUI+SpringBoot,使用Ajax进行异步交互。
预览图:
技术选型
前端技术:
① 基础的 HTML、CSS、JavaScript(基于 ES6 标准)
② 使用 Ajax 进行异步交互
③ 使用 Jquery 和 BootStrapUI 美化页面和简化开发
后端技术:
① 基础的 SpringMVC、Spring 5.0 和 MyBatis Plus
②Spring Boot 2.3.4.RELEASE 版本
③nginx-1.10.2 进行反向代理
④Thymeleaf 简化开发 HTML 页面
⑤Swagger 进行编写接口文档,开发标准的 Restful 风格的接口
⑥devtools 热部署开发工具
项目开发
- 数据库设计
数据库环境设置过程如下:
在阿里云服务器安装 MySQL;
创建数据库、用户权限、数据库表和测试数据; 数据库文件存放在文件夹中,请开发者在 MySQL 中 按照顺序运行以下脚本:
nucsell.sql,用于创建数据库、用户详细信息和权限表,用来创建书籍目录表,用来创建书籍表及其关联关系。
Navicat:
- Spring Boot 开发环境
- 安装 JDK8(可以是 Oracle JDK 或者 OpenJDK)
- 安装 Maven
- 安装 Git(可选)
- 安装 IDEA Community,建议安装 Maven 插件和 Git 插件。
- 采用 Maven 命令安装依赖库
项目 Pom.xml 依赖:
8.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.3.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.zzd</groupId>
<artifactId>bookmanagersystem</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>bookmanagersystem</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</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-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<!-- 简化开发-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!-- 数据库驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- 导入mybatis——plus 是自己开放的,不是官方的-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
<!--mybatis代码生成器-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.2.0</version>
</dependency>
<!-- 代码生成里面需要模板,so加上了freemarker-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<!--集成swagger2,生成接口文档并调试-->
<!-- 引入swagger-bootstrap-ui包 /doc.html-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.9.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
<version>2.3.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>bootstrap</artifactId>
<version>4.5.0</version>
</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>
项目展示
1.接口文档页面:
2.用户登录页面
3.管理员登录界面(i18n zh)
4.管理员登录界面(i18n en)
5.注册界面
6.查询分类界面(如编程)
7.后台管理主界面8.书籍管理主界面
9.修改书籍主界面
10.增加书籍主界面
等等…
我觉得这个项目很适合小白(就是我)练手,很不错!
代码地址:https://github.com/zzdnb/bookmanagersystem,喜欢的可以给个star,哈哈哈