SpringBoot图书管理系统运行教程

发布时间 2023-11-05 13:45:28作者: IT学长a

@文章目录

1、前期必备

1.1、所需软件版本说明

为避免出现其它问题,建议软件版本跟表中保持一致

软件 版本 说明
IDEA 2020.1 开发工具版本无要求
JDK 1.8 推荐使用JDK1.8
MySQL 5.7.26 使用MySQL5.5+,强烈推荐使用MySQL5.7.x
Navicat Premium 12.0.16 版本无要求
Maven 3.6.3 版本无要求

1.2、下载源码

本教程用到的源码已经放到网盘了,在公众号【IT学长】回复关键词“20220927”下载图书管理系统设计与实现(SpringBoot+Mysql+HTML)源码包。

本系统开发设计文档:《SpringBoot图书管理系统设计与实现(附源码下载地址)》

1.3、下载开发工具

作者用IDEA开发工具做演示,大家可直接在百度下载安装。

1.4、下载JDK并配置环境变量

作者使用JDK1.8版本,也建议初学者使用该版本。JDK下载和环境变量配置在百度有很多教程,这里不再重复。

1.5、安装数据库和数据库管理工具

目前作者所有毕设源码数据库都用MySQL5.7版本,强烈建议初学者跟作者保持一致,避免出现其它错误,待运行成功后再根据需要调整数据库版本。

其它版本的MySQL卸载教程和MySQL5.7安装教程请看作者另一篇文章:《MySQL绿色版安装与卸载教程》

数据库管理工具作者用Navicat,没有版本要求,自己在百度搜索,傻瓜式安装即可,也可以用其他数据库管理工具。

1.6、安装配置Maven

本系统用到项目管理工具Maven来统一Jar包版本管理,关于Maven的下载安装和配置教程请阅读作者的另一篇文章:《Maven安装与配置教程》,教程中对每个步骤的描述都很详细,大家根据文章操作就可以了。

做完以上工作后,本系统运行所需的基础软件就准备完成了。

2、将SQL文件导入到数据库

2.1、新建MySQL连接

1、打开安装好的Navicat(数据库管理工具)--》连接 --》MySQL

2、输入相关信息

  • 连接名:自定义(随便起)
  • 主机:使用默认localhost或127.0.0.1
  • 端口:使用默认3306
  • 用户名:填写MySQL的用户名(使用root即可)
  • 密码:填写MySQL的密码(安装时设置的密码)

注意:使用了上面作者提供的数据库安装方式的,密码默认为空!

3、输入以上信息后,先点击“连接测试”看看信息是否正确,正确后点击“确定”。

2.2、新建数据库并导入SQL

1、test 右击-->新建数据库

数据库名:查看“图书管理系统设计与实现(SpringBoot+Mysql+HTML)”源码包,用记事本工具打开book.sql文件。

下载好的源码包解压后:

注:“图书管理系统设计与实现(SpringBoot+Mysql+HTML)”源码包在本文1.2章节下载

字符集:utf8
排序规则:utf8_general_ci

2、双击新建的数据库-->待数据库名由灰变亮后-->右击数据库名-->运行SQL文件-->选择文件book.sql -->点击开始-->关闭

注意:SQL文件在下载好的源码包中

3、刷新数据库表后即可看到导入的数据库表了

完成以上步骤后,sql文件已成功导入到数据库中了。

3、IDEA配置Maven环境

1、打开IDEA开发工具-->Configure-->Settings

2、Build,Execution,Deployment-->Build Tools-->Maven-->选择Maven安装路径-->ok

4、IDEA安装Lombok插件

1、打开IDEA开发工具-->Configure-->Plugins

2、搜索Lombok-->Install-->Restart IDE-->OK

注:此步骤需要连接互联网

3、IDEA开发工具重启后-->Configure-->Plugins-->Installed-->查看Lombok是否安装成功

5、IDEA导入并运行项目

5.1、IDEA导入项目

1、根据图示导入项目

2、项目导入后如下图所示:

5.2、检查Maven配置是否正常

观察Maven本地仓库,查看项目依赖下载是否正常,即检查本地仓库路径下是否有类似下图中的文件夹生成。

如果没有上图中的文件夹生成的话需要检查Maven配置是否正确、重新加载Maven依赖

1、File-->Settings...-->Build,Execution,Deployment-->Build Tools-->Maven

2、重新加载Maven依赖,观察本地仓库

5.3、配置JDK

1、File-->Project Structure...-->Project-->Project SDK-->Add SDK-->JDK...-->选择JDK安装路径-->OK

2、JDK配置完成后如下图所示:

5.4、修改数据库配置

booksManageBoot-->src-->main-->resources-->application.yml

5.5、打包项目

1、Maven-->clear

2、Maven-->package

5.6、配置主程序并运行

1、Add Configuration...-->点击“+”-->Spring Boot

2、填写/选择如下信息-->保存

3、运行程序

5.7、访问项目及接口文档

项目登录用户如下图:

  • 浏览器地址栏输入:http://127.0.0.1:8080/booksManageBoot

  • 管理员身份登录

  • 普通用户身份登录

  • 浏览器地址栏输入:http://127.0.0.1:8080/booksManageBoot/doc.html

到这里,项目就运行成功了,是不是很哇塞呢!

6、常见问题及解决方式

6.1、如何修改项目访问路径和端口

booksManageBoot-->src-->main-->resources-->application.yml

6.2、项目导入后中文乱码问题

File --> Settings --> Editor --> File Encoding下修改项目文件的编码

6.3、get、set方法报错

项目导入后或者在项目打包时出现get、set方法报错。这种情况一般是缺失Lombok插件,解决方式是按照第4章节安装Lombok插件即可。

6.4、java.sql.SQLException

出现类似错误一般是数据库连接失败了,请按照5.4章节检查application.yml中数据库相关的配置是否正确。

{5.1.0.Final}
2022-10-27 23:45:26.336  INFO 3100 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2022-10-27 23:45:28.325 ERROR 3100 --- [           main] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 - Exception during pool initialization.

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) ~[mysql-connector-java-8.0.20.jar:8.0.20]
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.20.jar:8.0.20]
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-java-8.0.20.jar:8.0.20]
	at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:836) ~[mysql-connector-java-8.0.20.jar:8.0.20]
	at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:456) ~[mysql-connector-java-8.0.20.jar:8.0.20]
	at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246) ~[mysql-connector-java-8.0.20.jar:8.0.20]
	at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:197) ~[mysql-connector-java-8.0.20.jar:8.0.20]
	at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) ~[HikariCP-3.4.5.jar:na]
	at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:358) ~[HikariCP-3.4.5.jar:na]
	at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206) ~[HikariCP-3.4.5.jar:na]
	at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:477) [HikariCP-3.4.5.jar:na]
	at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:560) [HikariCP-3.4.5.jar:na]
	at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115) [HikariCP-3.4.5.jar:na]
	at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) [HikariCP-3.4.5.jar:na]
	at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:180) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:68) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:101) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:237) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.id.factory.internal.DefaultIdentifierGeneratorFactory.injectServices(DefaultIdentifierGeneratorFactory.java:152) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.injectDependencies(AbstractServiceRegistryImpl.java:286) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:243) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.<init>(InFlightMetadataCollectorImpl.java:176) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:118) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1224) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1255) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58) [spring-orm-5.2.7.RELEASE.jar:5.2.7.RELEASE]
	at org.springframework.orm.jpa.LocalContainerEntityManage

6.5、运行项目时HTTP状态码出现 404、500

HTTP状态码 404: 官方解释是服务器找不到请求的网页。本项目中出现404时首先检查访问地址是否正确,其次检查项目是否正常启动。

HTTP状态码 500: 官方解释是服务器内部错误,服务器遇到错误,无法完成请求。本项目中出现500时表明前端请求已经到达后端服务器,只是在逻辑处理中遇到错误,具体错误原因需要我们查看控制台。

7、结束

以上就是本教程的所有内容,关注公众号【IT学长】,跟着学长学IT。