1 Star 0 Fork 1

JavaObjects/libraryms

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MulanPSL-2.0

Java 8 Spring Boot 2 Vue 3
Github stars Github forks Gitee stars Gitee forks

图书管理系统

项目说明

  • 此项目为图书管理系统,后台使采用的是springboot+mybatis等技术实现数据持久化以及api服务调用,前台使用vue.js,vue-resource,vue-router,iView2.0UI框架,vue-quill-editor等技术实现前台页面

开发环境

Windows

配置环境

程序 版本 说明
Jdk 1.8.0 161 Java 开发工具包
Mysql 5.5.27 关系型数据库
Apache-maven 3.9.0 Java 项目管理和构建工具
Nvm 1.10 Node.js 版本管理器
Node 8.12.0 Node.js JavaScript 运行时环境

开发工具

工具 版本 说明
IDEA 2022.3.2 后前端开发IDE
Git 2.24.1 代码托管平台
Google Chrome 75.0.3770.100 浏览器、前端调试工具
Navicat 11.1.13 数据库连接工具
Postman 7.1.0 接口测试工具
VMware Workstation Pro 14.1.3 虚拟机(未用到或许你会用到)
PowerDesigner 15 数据库设计工具(未用到或许你会用到)
SQLyog 12.0.3 数据库连接工具 (未用到或许你会用到)
Visio 2013 时序图、流程图等绘制工具(未用到或许你会用到)
ProcessOn —— 架构图等绘制工具(未用到或许你会用到)
XMind ZEN 9.2.0 思维导图绘制工具(未用到或许你会用到)
RedisDesktop 0.9.3.817 redis客户端连接工具(未用到或许你会用到)

编码规范

  • 规范方式:严格遵守阿里编码规约。
  • 命名统一:简介最大程度上达到了见名知意。
  • 分包明确:层级分明可快速定位到代码位置。
  • 注释完整:描述性高大量减少了开发人员的代码阅读工作量。
  • 工具规范:使用统一jar包避免出现内容冲突。
  • 代码整洁:可读性、维护性高。

包结构

 +- libraryms-sb -- 图书管理系统服务端
    +- .mvn
        +- wrapper
    +- src
    |   +- main
    |   |    +- java
    |   |    |    +- com
    |   |    |    |    +- lin
    |   |    |    |    |    +- appapidemo
    |   |    |    |    |    |    +- controller -- 控制器类 负责接收和处理HTTP请求
    |   |    |    |    |    |    +- mapper -- MyBatis框架的数据访问层
    |   |    |    |    |    |    +- model -- 数据模型类
    |   |    |    |    |    |    +- util -- 工具类
    |   |    |    |    |    |    +- AppapidemoApplication.java -- 应用程序入口类
    |   |    |    |    |    |    +- CorsConfig.java -- 配置跨域访问
    |   |    |    |    |    |    +- Swagger2.java -- 用于集成 Swagger2 API 文档工具的相关配置
    |   |    +- resources
    |   |        +- application.properties -- 应用程序的配置信息
    |   +- test -- 测试代码
    |  	|	+- java
    |  	|	    +- com
    |  	|	        +- lin
    |  	|	            +- appapidemo
    +- target -- Maven建项目时自动生成的目录
    +- .gitignore -- 指定需要 Git 忽略的文件或目录
    +- LICENSE -- 开源软件的授权协议
    +- mvnw --  Maven Wrapper 的脚本,作用是为了在开发团队中使用一致的 Maven 版本,以及简化在新环境中安装 Maven 的步骤 用于 Linux 或 macOS 系统
    +- mvnw.cmd --  Maven Wrapper 的脚本,作用是为了在开发团队中使用一致的 Maven 版本,以及简化在新环境中安装 Maven 的步骤 用于 Windows 系统
    +- pom.xml -- 用于声明和管理项目依赖的XML文件
    +- README.md -- 项目的相关信息文档
 +- libraryms-Vue -- 图书管理系统客户端
     +- build -- 用于存放打包构建相关的配置文件和脚本
        +- build.js -- 构建脚本
        +- check-versions.js -- 用于检查 Node.js 和 npm 版本是否符合要求的脚本
        +- logo.png -- 项目的 logo 图片文件
        +- utils.js -- 构建脚本中用到的工具函数
        +- vue-loader.conf.js -- Vue-loader 的配置文件,用于解析和转换 .vue 文件
        +- webpack.base.conf.js -- Webpack 基础配置文件
        +- webpack.dev.conf.js -- Webpack 开发环境配置文件
        +- webpack.prod.conf.js -- Webpack 生产环境配置文件
     +- config --用于存放项目的配置文件
        +- dev.env.js -- 开发环境的配置文件
        +- index.js -- 主配置文件
        +- prod.env.js -- 生产环境的配置文件
     +- src
        +- assets -- 静态资源文件 如图片、字体等
        +- components -- Vue 组件
        +- router -- 路由配置
        +- App.vue -- 根组件 协调整个应用程序的视图和管理应用程序的状态
        +- main.js -- 项目的入口文件
        +- tip -- 提示信息相关的组件和样式
     +- static -- 用于存放不需要 webpack 处理的静态文件
     +- .babelrc -- Babel 的配置文件
     +- .editorconfig -- 编辑器的配置文件,用于约定不同编辑器之间的代码风格和格式
     +- .eslintgnore -- 指定需要忽略的文件或目录,让 ESLint 不对其进行检查
     +- .eslintrc.js -- ESLint 的配置文件
     +- .gitignore -- 指定需要 Git 忽略的文件或目录
     +- .postcssrc.js -- PostCSS 的配置文件
     +- db_appapidemo.sql --用于初始化数据库的 SQL 脚本文件
     +- index.html -- 项目的入口 HTML 文件
     +- LICENSE -- 开源软件的授权协议
     +- packge.json -- 项目元数据的文件 用于描述 Node.js 应用程序或模块的属性
     +- packge-lock.json -- 锁定当前安装的包的版本号和依赖关系
     +- READE.md -- 项目的相关信息文档

后端技术栈

技术 版本 说明
Spring Boot 1.5.8.RELEASE Spring Boot框架版本
Spring Boot DevTools - 热部署工具
Spring Boot Starter Web - Web模块依赖
MyBatis Spring Boot Starter 1.3.0 整合MyBatis的核心依赖
mysql-connector-java 5.1.43 连接MySQL数据库依赖
Mapper Spring Boot Starter 1.1.3 MyBatis通用Mapper依赖
PageHelper Spring Boot Starter 1.1.2 分页插件PageHelper依赖
Lombok 1.16.18 避免Get/Set方法重复创建依赖
Spring Boot Starter Data Redis - Redis数据库依赖
springfox-swagger2 2.7.0 Swagger2 API文档依赖
springfox-swagger-ui 2.7.0 Swagger2 API文档UI依赖
Spring Boot Starter Mail - 发送邮件依赖

前端技术栈

技术 版本 说明
iview ^2.7.4 基于 Vue.js 的 UI 组件库
vue ^2.5.2 渐进式 JavaScript 框架
vue-quill-editor ^3.0.4 基于 Quill 的富文本编辑器
vue-resource ^1.3.4 基于 Vue.js 的网络请求库
vue-router ^3.0.1 Vue.js 官方的路由管理器
autoprefixer ^7.1.2 为 CSS 自动添加浏览器前缀的 PostCSS 插件
babel-core ^6.22.1 一个用于使用 Babel 的 JavaScript 编译器
babel-eslint ^7.1.1 用于使用 ESLint 的 Babel 解析器
babel-helper-vue-jsx-merge-props ^2.0.3 合并 Vue JSX 组件中的属性
babel-loader ^7.1.1 用于 Webpack 的 Babel 模块加载器
babel-plugin-syntax-jsx ^6.18.0 Babel 插件,用于支持 JSX 语法
babel-plugin-transform-runtime ^6.22.0 Babel 插件,用于将 ES6+ 语法转换为 ES5
babel-plugin-transform-vue-jsx ^3.5.0 Babel 插件,用于将 Vue JSX 转换为渲染函数
babel-preset-env ^1.3.2 Babel 预设,用于将 ES6+ 语法转换为 ES5
babel-preset-stage-2 ^6.22.0 Babel 预设,用于支持 ES7+ 语法
chalk ^2.0.1 用于在终端中输出彩色文字的 Node.js 模块
copy-webpack-plugin ^4.0.1 用于复制文件和目录的 Webpack 插件
css-loader ^0.28.0 用于在 Webpack 中加载 CSS 文件的加载器
eslint ^3.19.0 用于在 JavaScript 代码中检测和报告问题的工具
eslint-config-standard ^10.2.1 用于在 JavaScript 代码中实施标准风格的 ESLint 配置
eslint-friendly-formatter ^3.0.0 用于在终端中输出更友好的 ESLint 错误信息的插件
eslint-loader ^1.7.1 用于 Webpack 的 ESLint 模块加载器
eslint-plugin-html ^3.0.0 ESLint 插件,用于处理 HTML 文件
eslint-plugin-import ^2.7.0 一个 ESLint 插件,用于检查 import/export 语句
eslint-plugin-node ^5.2.0 一个 ESLint 插件,用于检查 Node.js 代码
eslint-plugin-promise ^3.4.0 一个 ESLint 插件,用于检查 Promise 相关的代码
eslint-plugin-standard ^3.0.1 一个 ESLint 插件,提供一组符合 JavaScript Standard 风格规范的规则
eventsource-polyfill ^0.9.6 一个 Webpack 插件,提供 EventSource 接口的 polyfill
extract-text-webpack-plugin ^3.0.0 一个 Webpack 插件,用于将所有的 CSS 代码提取到一个文件中
file-loader ^1.1.4 一个 Webpack 加载器,用于将文件作为模块导入,并返回其 URL
friendly-errors-webpack-plugin ^1.6.1 一个 Webpack 插件,用于在终端上友好地展示 Webpack 构建时的错误信息
html-webpack-plugin ^2.30.1 一个 Webpack 插件,用于生成 HTML 文件,并将打包后的资源自动引入该文件中
node-notifier ^5.1.2 用于跨平台显示通知的 Node.js 模块
optimize-css-assets-webpack-plugin ^3.2.0 优化和最小化 CSS 资源的 Webpack 插件
ora ^1.2.0 为终端显示 spinner 和文字消息的 Node.js 模块
portfinder ^1.0.13 在 Webpack 开发服务器上查找可用端口的 Node.js 模块
postcss-import ^11.0.0 用于处理 @import 规则的 PostCSS 插件
postcss-loader ^2.0.8 将 CSS 转换为 JavaScript 可以导入的模块的 Webpack 加载器
rimraf ^2.6.0 用于删除文件和文件夹的 Node.js 模块
semver ^5.3.0 语义化版本控制的 Node.js 模块
shelljs ^0.7.6 在 Node.js 脚本中使用 Unix shell 命令的 Node.js 模块
uglifyjs-webpack-plugin ^1.1.1 用于缩小 JavaScript 文件的 Webpack 插件
url-loader ^0.5.8 处理和加载 URL 的 Webpack 加载器
vue-loader ^13.3.0 将 Vue.js 组件转换为 JavaScript 模块的 Webpack 加载器
vue-style-loader ^3.0.1 将 CSS 转换为 JavaScript 模块的 Webpack 加载器
vue-template-compiler ^2.5.2 编译 Vue.js 模板的 Node.js 模块
webpack ^3.6.0 JavaScript 模块打包器
webpack-bundle-analyzer ^2.9.0 可视化分析 Webpack 打包输出的工具
webpack-dev-server ^2.9.1 Webpack 开发服务器
webpack-merge ^4.1.0 合并 Webpack 配置的工具

项目启动

  • 1.数据库:mysql5.6执行以下脚本,前台项目下脚本文件--db_appapidemo.sql (数据库脚本在前台项目下)
  • 2.后台启动:导入项目,进入控制台,到项目所在路径,执行命令:mvn clean spring-boot:run
  • 3.前台启动:导入项目,进入控制台,到项目所在路径,执行命令:npm install 后 npm run dev,访问地址:http://localhost:8075 测试账号:super 密码: super

  • 目前里面各种bug懒得改了。。。。

效果展示

解决bug

  1. 解决端口被占用的问题,如下图所示

  • 解决方法,打开Windows PowerShell 输入如下的命令查看被占用的端口
netstat -ano | findstr :8080
  • 输入如下的命令,杀掉进程
taskkill /F /PID 进程ID

在这里进行id为8080

taskkill /F /PID 14696

木兰宽松许可证, 第2版 木兰宽松许可证, 第2版 2020年1月 http://license.coscl.org.cn/MulanPSL2 您对“软件”的复制、使用、修改及分发受木兰宽松许可证,第2版(“本许可证”)的如下条款的约束: 0. 定义 “软件”是指由“贡献”构成的许可在“本许可证”下的程序和相关文档的集合。 “贡献”是指由任一“贡献者”许可在“本许可证”下的受版权法保护的作品。 “贡献者”是指将受版权法保护的作品许可在“本许可证”下的自然人或“法人实体”。 “法人实体”是指提交贡献的机构及其“关联实体”。 “关联实体”是指,对“本许可证”下的行为方而言,控制、受控制或与其共同受控制的机构,此处的控制是指有受控方或共同受控方至少50%直接或间接的投票权、资金或其他有价证券。 1. 授予版权许可 每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的版权许可,您可以复制、使用、修改、分发其“贡献”,不论修改与否。 2. 授予专利许可 每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的(根据本条规定撤销除外)专利许可,供您制造、委托制造、使用、许诺销售、销售、进口其“贡献”或以其他方式转移其“贡献”。前述专利许可仅限于“贡献者”现在或将来拥有或控制的其“贡献”本身或其“贡献”与许可“贡献”时的“软件”结合而将必然会侵犯的专利权利要求,不包括对“贡献”的修改或包含“贡献”的其他结合。如果您或您的“关联实体”直接或间接地,就“软件”或其中的“贡献”对任何人发起专利侵权诉讼(包括反诉或交叉诉讼)或其他专利维权行动,指控其侵犯专利权,则“本许可证”授予您对“软件”的专利许可自您提起诉讼或发起维权行动之日终止。 3. 无商标许可 “本许可证”不提供对“贡献者”的商品名称、商标、服务标志或产品名称的商标许可,但您为满足第4条规定的声明义务而必须使用除外。 4. 分发限制 您可以在任何媒介中将“软件”以源程序形式或可执行形式重新分发,不论修改与否,但您必须向接收者提供“本许可证”的副本,并保留“软件”中的版权、商标、专利及免责声明。 5. 免责声明与责任限制 “软件”及其中的“贡献”在提供时不带任何明示或默示的担保。在任何情况下,“贡献者”或版权所有者不对任何人因使用“软件”或其中的“贡献”而引发的任何直接或间接损失承担责任,不论因何种原因导致或者基于何种法律理论,即使其曾被建议有此种损失的可能性。 6. 语言 “本许可证”以中英文双语表述,中英文版本具有同等法律效力。如果中英文版本存在任何冲突不一致,以中文版为准。 条款结束 如何将木兰宽松许可证,第2版,应用到您的软件 如果您希望将木兰宽松许可证,第2版,应用到您的新软件,为了方便接收者查阅,建议您完成如下三步: 1, 请您补充如下声明中的空白,包括软件名、软件的首次发表年份以及您作为版权人的名字; 2, 请您在软件包的一级目录下创建以“LICENSE”为名的文件,将整个许可证文本放入该文件中; 3, 请将如下声明文本放入每个源文件的头部注释中。 Copyright (c) [Year] [name of copyright holder] [Software Name] is licensed under Mulan PSL v2. You can use this software according to the terms and conditions of the Mulan PSL v2. You may obtain a copy of Mulan PSL v2 at: http://license.coscl.org.cn/MulanPSL2 THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PSL v2 for more details. Mulan Permissive Software License,Version 2 Mulan Permissive Software License,Version 2 (Mulan PSL v2) January 2020 http://license.coscl.org.cn/MulanPSL2 Your reproduction, use, modification and distribution of the Software shall be subject to Mulan PSL v2 (this License) with the following terms and conditions: 0. Definition Software means the program and related documents which are licensed under this License and comprise all Contribution(s). Contribution means the copyrightable work licensed by a particular Contributor under this License. Contributor means the Individual or Legal Entity who licenses its copyrightable work under this License. Legal Entity means the entity making a Contribution and all its Affiliates. Affiliates means entities that control, are controlled by, or are under common control with the acting entity under this License, ‘control’ means direct or indirect ownership of at least fifty percent (50%) of the voting power, capital or other securities of controlled or commonly controlled entity. 1. Grant of Copyright License Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable copyright license to reproduce, use, modify, or distribute its Contribution, with modification or not. 2. Grant of Patent License Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable (except for revocation under this Section) patent license to make, have made, use, offer for sale, sell, import or otherwise transfer its Contribution, where such patent license is only limited to the patent claims owned or controlled by such Contributor now or in future which will be necessarily infringed by its Contribution alone, or by combination of the Contribution with the Software to which the Contribution was contributed. The patent license shall not apply to any modification of the Contribution, and any other combination which includes the Contribution. If you or your Affiliates directly or indirectly institute patent litigation (including a cross claim or counterclaim in a litigation) or other patent enforcement activities against any individual or entity by alleging that the Software or any Contribution in it infringes patents, then any patent license granted to you under this License for the Software shall terminate as of the date such litigation or activity is filed or taken. 3. No Trademark License No trademark license is granted to use the trade names, trademarks, service marks, or product names of Contributor, except as required to fulfill notice requirements in Section 4. 4. Distribution Restriction You may distribute the Software in any medium with or without modification, whether in source or executable forms, provided that you provide recipients with a copy of this License and retain copyright, patent, trademark and disclaimer statements in the Software. 5. Disclaimer of Warranty and Limitation of Liability THE SOFTWARE AND CONTRIBUTION IN IT ARE PROVIDED WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ANY CONTRIBUTOR OR COPYRIGHT HOLDER BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING, BUT NOT LIMITED TO ANY DIRECT, OR INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING FROM YOUR USE OR INABILITY TO USE THE SOFTWARE OR THE CONTRIBUTION IN IT, NO MATTER HOW IT’S CAUSED OR BASED ON WHICH LEGAL THEORY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 6. Language THIS LICENSE IS WRITTEN IN BOTH CHINESE AND ENGLISH, AND THE CHINESE VERSION AND ENGLISH VERSION SHALL HAVE THE SAME LEGAL EFFECT. IN THE CASE OF DIVERGENCE BETWEEN THE CHINESE AND ENGLISH VERSIONS, THE CHINESE VERSION SHALL PREVAIL. END OF THE TERMS AND CONDITIONS How to Apply the Mulan Permissive Software License,Version 2 (Mulan PSL v2) to Your Software To apply the Mulan PSL v2 to your work, for easy identification by recipients, you are suggested to complete following three steps: i Fill in the blanks in following statement, including insert your software name, the year of the first publication of your software, and your name identified as the copyright owner; ii Create a file named “LICENSE” which contains the whole context of this License in the first directory of your software package; iii Attach the statement to the appropriate annotated syntax at the beginning of each source file. Copyright (c) [Year] [name of copyright holder] [Software Name] is licensed under Mulan PSL v2. You can use this software according to the terms and conditions of the Mulan PSL v2. You may obtain a copy of Mulan PSL v2 at: http://license.coscl.org.cn/MulanPSL2 THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PSL v2 for more details.

简介

SpringBoot + Vue 图书管理系统[内容管理系统] 展开 收起
README
MulanPSL-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/JavaObjects/libraryms.git
git@gitee.com:JavaObjects/libraryms.git
JavaObjects
libraryms
libraryms
master

搜索帮助