SpringBoot图书管理系统运行教程
@文章目录
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。