Java听潮阁(SpringCloud项目)

一、简介

本网站是不凉域网络技术工作室的后台管理网站和旗下的网站(目前只有Java听潮阁),后台管理网站具有统计旗下所有网站的数据功能,并且能直接对旗下所有网站进行管理。

Java听潮阁网站是一个Java书籍网站,名字拟取自《雪中悍刀行》的听潮亭,剑神李淳罡(天不生我李淳罡,剑道万古如长夜)在听潮亭待了二十年,出来游历后实力直上陆地天人境,希望所有Java技术人员历经乏味的学习后都能有所突破,该项目主要具有微信支付、预览pdf电子书籍和下载pdf书籍的功能,祝各位码运昌隆!

二、项目搭建

1、MySQL数据库表

在sql文件夹中,包含有blywl.sql的数据库脚本,数据编码为utf-8,可自行导入navicat中。

一共有9个数据库表,每个表中都有一些初始数据,有需要的可自定义。

其中book_info中的书籍url数据是将电子书pdf文件数据上传到minio中,获取其文件访问路径,java电子书籍可以百度查找或者爬取,这里附带了几本pdf电子书可以测试用,还附带了使用python3.6截取pdf的脚本文件。

2、后端项目

在每个模块的yaml配置文件中需要修改自己的nacos配置中心地址。

导入nacos配置文件,其中的各个属性参数可以自行修改。

3、前端项目

两个都是Vue2项目,一个是后台管理的ui,一个是Java听潮阁的ui

三、后台管理系统

后台管理系统只有管理员可以登录,不仅能统计各个子网站数据,还能对各个子网站数据进行管理、处理和统计。

1、后端技术架构

(1)依赖版本
jdk MySQL spring-boot spring-cloud-alibaba spring-cloud-alibaba-dependencies nacos-client java-jwt
1.8 8.0 2.6.13 2021.0.5.0 2.2.0.RELEASE 1.4.1 3.18.2
hutool-all mybatis-plus spring-cloud-starter-openfeign spring-cloud-loadbalancer minio
5.7.20 3.4.2 3.1.5 3.1.5 7.0.2
org.apache.poi wechatpay-apache-httpclient
4.1.2 0.3.0
(2)功能架构

后台管理系统的功能架构:

2、前端开发

(1)依赖版本
node npm vue element-ui vue-router axios
16.13.2 8.1.2 ^2.6.14 ^2.15.13 ^3.5.1 ^1.4.0
(2)项目展示

四、Java听潮阁

1、后端技术架构

(1) 依赖版本
jdk MySQL spring-boot spring-cloud-alibaba spring-cloud-alibaba-dependencies nacos-client java-jwt
1.8 8.0 2.6.13 2021.0.5.0 2.2.0.RELEASE 1.4.1 3.18.2
hutool-all mybatis-plus spring-cloud-starter-openfeign spring-cloud-loadbalancer minio
5.7.20 3.4.2 3.1.5 3.1.5 7.0.2
spring-cloud-starter-gateway wechatpay-apache-httpclient
3.1.6 0.3.0
(2) 功能架构

Java听潮阁系统的功能架构:

(3) 技术栈架构

SpringBoot+MySQL+MyBatis-plus+MD5加密+JWT+Redis+Nacos+gateway+Feign+Sentinel+Minio+微信支付Native的apiV3+QQ邮箱发送验证码

2、前端开发

(1)依赖版本

node npm vue element-ui vue-router axios
16.13.2 8.1.2 ^2.6.14 ^2.15.13 ^3.5.1 ^1.4.0
core-js vue-pdf vue-qriously
^3.8.3 ^4.2.0 ^1.1.1

(2)项目展示

1.PC端
2.App端

五、项目部署

打包成jar包后使用linux系统的docker容器部署项目,详细可见:Docker部署jar包的方式及详解_docker build jar-CSDN博客

1、打包jar注意点

由于此项目分为多个模块,而且各模块之间有一定的关联,打包成jar包时要注意,必须先clean清除一遍缓存,再把共有模块common打包package后引入各个项目中,然后install父模块,再对子模块package,否则会出现 " 程序包XXX.XXX不存在 " 的情况。

当然,如果所有步骤都没问题,编译正常,就是运行和打包时识别不到某个包,这就是IDEA本身的问题了(特别是2023以前的版本常有),需要退出手动删除.idea文件夹后重新打开。

打包好后要先cmd运行一遍再去服务器部署,因为已经使用了nacos远程配置,可能会出现cmd编码和nacos远程配置文件的编码冲突,因此,cmd运行时要统一编码:

java -jar -Dfile.encoding=utf-8 ***.jar

2、docker部署jar注意点

其他的项目部署查看 Docker部署jar包的方式及详解_docker build jar-CSDN博客 即可,但是需要注意的是微信支付模块,它需要引入pem密钥文件,所以它的Dockerfile文件得多加一行引入密钥文件。

拒绝白嫖,需要的可以+V: buliangshuai01033

相关推荐
陈大爷(有低保)1 小时前
UDP Socket聊天室(Java)
java·网络协议·udp
kinlon.liu1 小时前
零信任安全架构--持续验证
java·安全·安全架构·mfa·持续验证
王哲晓1 小时前
Linux通过yum安装Docker
java·linux·docker
java6666688882 小时前
如何在Java中实现高效的对象映射:Dozer与MapStruct的比较与优化
java·开发语言
Violet永存2 小时前
源码分析:LinkedList
java·开发语言
执键行天涯2 小时前
【经验帖】JAVA中同方法,两次调用Mybatis,一次更新,一次查询,同一事务,第一次修改对第二次的可见性如何
java·数据库·mybatis
Jarlen2 小时前
将本地离线Jar包上传到Maven远程私库上,供项目编译使用
java·maven·jar
蓑 羽2 小时前
力扣438 找到字符串中所有字母异位词 Java版本
java·算法·leetcode
Reese_Cool2 小时前
【C语言二级考试】循环结构设计
android·java·c语言·开发语言